Php mysql按dayname排序

Php mysql按dayname排序,php,mysql,Php,Mysql,我如何按日期名称订购mysql,即:星期日、星期一、星期二、星期三等等 SELECT DAYNAME(dl.bookingDate) AS dayName, COUNT(dg.idDiary) AS totalBooked FROM diary_list dl, diary_group dg WHERE dl.idDiary = dg.idDiary AND dg.idService != 0 AND dl.status = 3 GROUP BY dayNam

我如何按日期名称订购mysql,即:星期日、星期一、星期二、星期三等等

SELECT 
    DAYNAME(dl.bookingDate) AS dayName, COUNT(dg.idDiary) AS totalBooked
FROM
    diary_list dl, diary_group dg
WHERE
    dl.idDiary = dg.idDiary AND dg.idService != 0 AND dl.status = 3
GROUP BY 
    dayName
ORDER BY 
    dayName ???

您需要将函数
DAYOFWEEK
添加到您的
分组依据
订单依据

GROUP BY DAYOFWEEK(dl.bookingDate)
ORDER BY DAYOFWEEK(dl.bookingDate)
您可能还希望研究使用显式ANSI标准
JOIN
语法

SELECT 
    DAYNAME(dl.bookingDate) AS dayName, COUNT(dg.idDiary) AS totalBooked
FROM
    diary_list dl
JOIN diary_group dg
    ON dl.idDiary = dg.idDiary
WHERE
    dg.idService != 0 AND dl.status = 3
GROUP BY 
    DAYOFWEEK(dl.bookingDate)
ORDER BY 
    DAYOFWEEK(dl.bookingDate)

您可以制定自己的订单标准:

ORDER BY FIELD(DAY , '3', '4', '5', '6', '7','1', '2')
就你而言:

ORDER BY FIELD(DAY , '7','1', '2', '3', '4', '5', '6')

阅读此内容了解更多信息

应按DAYNAME排序(dl.bookingDate)否,DAYNAME返回字符串值,星期六将在星期日之前排序。改为使用DAYOFWEEK,它为Su返回1,为Mo返回2,等等。请查看您保存的“我的一天”手册中的工作日()。我的英雄。。谢谢:)