0
這是查詢,我正在嘗試獲取之前30天的數據。Mysql按日期排序
SELECT DAY(calendar.datefield) AS callDay,
DATE_FORMAT(calendar.datefield,"%d-%m-%Y") AS DataDate,
COUNT(user_appoint.`id`) AS total_appt,
SUM(CASE WHEN status_id=6 THEN 1 ELSE 0 END) AS fit,
SUM(CASE WHEN status_id=7 THEN 1 ELSE 0 END) AS unfit,
SUM(CASE WHEN status_id=1 THEN 1 ELSE 0 END) AS pending,
SUM(CASE WHEN status_id=19 THEN 1 ELSE 0 END) AS reexamined
FROM user_appoint
RIGHT JOIN calendar ON DATE(user_appoint.`ApptDateTime`) = calendar.`datefield` AND user_appoint.`comp_id` = 123
WHERE calendar.datefield BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW()
# and user_appoint.`comp_id` = 123
GROUP BY calendar.`datefield`
ORDER BY datadate ASC
查詢的輸出如下: -
callDay DataDate total_appt fit unfit pending reexamined
------- ---------- ---------- ------ ------ ------- ------------
...
14 14-01-2016 0 0 0 0 0
15 15-01-2016 3 0 0 3 0
16 16-01-2016 0 0 0 0 0
17 17-01-2016 0 0 0 0 0
18 18-01-2016 0 0 0 0 0
20 20-12-2015 0 0 0 0 0
21 21-12-2015 0 0 0 0 0
22 22-12-2015 1 1 0 0 0
23 23-12-2015 0 0 0 0 0
...
這是給我當月的數據格式的上升,之後前一個月遞增格式的數據。我希望上個月的數據以升序格式,並以asc格式存儲當前數據。
我總覺得有點難以閱讀右連接,尤其是它們對條款並不指*加入*表,但*其他*表('和user_appoint.comp_id = 123')。我知道很多人都贊同這種觀點,所以您可能想重新編寫查詢來使用左連接,而不是爲了便於閱讀。 –