您可以通过使用 SUM 和表达式 DAYNAME(created) ='sunday' 来获取当前月份的星期日数,并且您的日期列小于当前日期,使用 sum 和表达式将导致布尔值 0 或 1,还要确保您已将标准日期对象存储在日期字段中,在我的情况下,我使用了创建的名称,并且在 where 子句中,我将日期列与当前月份日期进行了比较
SELECT
IFNULL(SUM(DAYNAME(created) ='Sunday'),0) `sundays`
FROM `table`
WHERE created > LAST_DAY(NOW() - INTERVAL 1 MONTH)
AND created < CURRENT_DATE()
问题编辑完成后你也可以算不上。以他们的名字命名的天数,从一个月开始到当前日期
SELECT
IFNULL(SUM(DAYNAME(created) ='Sunday'),0) `sundays`,
IFNULL(SUM(DAYNAME(created) ='Monday'),0) `mondays`,
IFNULL(SUM(DAYNAME(created) ='Tuesday'),0) `tuesdays`,
IFNULL(SUM(DAYNAME(created) ='Wednesday'),0) `wednesdays`,
IFNULL(SUM(DAYNAME(created) ='Thursday'),0) `thursdays`,
IFNULL(SUM(DAYNAME(created) ='Friday'),0) `fridays`,
IFNULL(SUM(DAYNAME(created) ='Saturday'),0) `saturdays`
FROM `table`
WHERE created > LAST_DAY(NOW() - INTERVAL 1 MONTH)
AND created < CURRENT_DATE()