具有月份和日期的出生日期仅在升序中

时间:2014-03-03 13:08:47

标签: php mysql

我在yyyy-mm-dd格式的mysql表中有一个Birthdate列

我想以升序格式显示月份和日期。

我试过它如下......

 SELECT * FROM table_name Order by birthdate ASC

并在显示区域中使用如下代码 -

=date("F d ",strtotime($data["birthdate"]))

现在它正在显示升序,但由于每个用户的年份不同,所以结果如下:

January 02,
January 31,
February 06,
March 22,
December 23,
March 27,
June 13,
January 23....

(这里是一个例子......但它显示了升序,但随着年份的不同,每年都会按升序显示)

我希望它像所有1月日期,然后2月......等等......

3 个答案:

答案 0 :(得分:7)

使用DAYOFYEAR()进行排序:

SELECT * FROM `table_name` ORDER BY DAYOFYEAR(`birthdate`) ASC

DAYOFYEAR会在1366之间提供一个数字。

答案 1 :(得分:0)

尝试以下查询,

SELECT * FROM table_name Order by DATENAME(month, birthdate) ASC

答案 2 :(得分:0)

请尝试以下操作:

SELECT * FROM `table_name` GROUP BY DATE_FORMAT(birthdate,'%M %d')