2014-03-03 36 views
2

我在MySQL表中的列生日在YYYY-MM-DD格式生日有月份和日期只能按升序

我只想显示月,日升格式。

我如下已经尝试过了......

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.... 

(这里是例子......但它是显示上升的bu T作为年是不同的,它显示每年按升序排列)

因为我想把它当作全部一月日期,然后二月...等等...

+0

@Hardy它不是,在任何情况下,这不是一个理由! – Strawberry

+0

dr manish joshi - 日期与日期数据类型一起存储,对不对? – Strawberry

回答

7

使用DAYOFYEAR()排序:

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

DAYOFYEAR给出1366之间的数字。

+0

这对我有用谢谢 –

0

尝试下面的查询,

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

尝试以下操作:

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