我在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月......等等......
答案 0 :(得分:7)
使用DAYOFYEAR()
进行排序:
SELECT * FROM `table_name` ORDER BY DAYOFYEAR(`birthdate`) ASC
DAYOFYEAR
会在1
和366
之间提供一个数字。
答案 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')