我正在尝试编写一个查询来按工作日对过去 7 天的统计数据进行分组并返回以下内容:
dayname | count(*)
-----------------------
Monday | 3
Tuesday | 2
Run Code Online (Sandbox Code Playgroud)
将以上是我想要的输出,但是我似乎无法得到DAYNAME。
Day(enquiries.created_at) | Count(enquiries.id)
-----------------------------------------------------
1 | 1
3 | 1
4 | 14
31 | 5
Run Code Online (Sandbox Code Playgroud)
在上面的是我的电流输出和一个解释是,8月31日,9月1日等等......不过,我想按周日名称,而不是最新的。
这是我到目前为止的查询:
SELECT Day(enquiries.created_at),
Count(enquiries.id)
FROM enquiry_stats
LEFT JOIN enquiries
ON enquiry_stats.enquiry_id = enquiries.id
WHERE created_at >= Date_add(Curdate(), INTERVAL -7 day)
GROUP BY Day(enquiries.created_at);
Run Code Online (Sandbox Code Playgroud)
我只是想知道如何不按天而是按日期对数据进行分组?
“我只是想知道如何不按天而是按日期对数据进行分组?”
听起来很简单,请DAYNAME()改用:
SELECT DayName(enquiries.created_at),
Count(enquiries.id)
FROM enquiry_stats
LEFT JOIN enquiries
ON enquiry_stats.enquiry_id = enquiries.id
WHERE created_at >= Date_add(Curdate(), INTERVAL -7 day)
GROUP BY DayName(enquiries.created_at);
Run Code Online (Sandbox Code Playgroud)