我正在尝试编写一个查询,按工作日对最近7天的统计数据进行分组并返回以下内容:
dayname | count(*)
-----------------------
Monday | 3
Tuesday | 2
上面的是我想要的输出但是我似乎无法获得日期名称。
Day(enquiries.created_at) | Count(enquiries.id)
-----------------------------------------------------
1 | 1
3 | 1
4 | 14
31 | 5
上面是我当前的输出,解释是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);
我只是想知道如何按天分组而不是按天名分组数据?
答案 0 :(得分:4)
“我只是想知道如何将数据分组不是天而是 dayname ?”
听起来很简单,请改用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);