繁体   English   中英

MySQL Group数据按上周的日期命名

[英]MySQL Group data by name of day in last week

我正在尝试编写查询以按工作日分组最近7天的统计数据,并返回以下内容:

    dayname | count(*)
-----------------------
Monday      |   3              
Tuesday     |   2        

上面是我想要的输出,但是我似乎无法获得dayname。

    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);

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM