MySQL 按上周的名称对数据进行分组

lia*_*man 3 mysql

我正在尝试编写一个查询来按工作日对过去 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)

我只是想知道如何不按天而是按日期对数据进行分组?

sag*_*agi 5

“我只是想知道如何不按而是按日期对数据进行分组?”

听起来很简单,请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)