【问题标题】:Number of sunday, monday, etc before current date in current month using Mysql Query使用 Mysql Query 在当前月份当前日期之前的星期日、星期一等的数量
【发布时间】:2014-04-16 10:58:16
【问题描述】:

我在表格中有一个日期字段,我想使用 mysql 查找当前月份当前日期之前的星期几。

如何获取当前月份当前日期之前的星期日、星期一等数量?

【问题讨论】:

标签: mysql sql date days


【解决方案1】:

您可以通过使用 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()

【讨论】:

  • @M Khalid Junaid 感谢您的帮助,请回答我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-09
  • 1970-01-01
  • 2022-10-20
  • 2012-09-28
  • 1970-01-01
  • 2017-03-06
  • 1970-01-01
相关资源
最近更新 更多