选择本周18:00的moday值

ufj5ltwl  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(177)

我尝试只在本周一和18:00到19:00从mysql获取值。我怎么能做到?
结果应该是:1

m_z_analytics

|id|m_type|date_added         |
|1 |test1 |2018-06-25 18:02:09|
|2 |test2 |2018-06-26 19:44:24|

SELECT COUNT(id) AS id FROM m_z_analytics WHERE
Week(date_added) = Week(CURRENT_TIMESTAMP) AND
date_added >= (NOW() - INTERVAL 7 DAY) AND
date_added < (NOW() - INTERVAL 6 HOUR)
tzcvj98z

tzcvj98z1#

使用 WEEKDAY() 或者 DAYNAME() 函数来测试星期几和 HOUR() 测试一天中的时间。

SELECT COUNT(*)
FROM m_z_analytics
WHERE date_added BETWEEN NOW() - INTERVAL 1 WEEK AND NOW() - INTERVAL 6 HOUR
AND HOUR(date_added) = 18
AND DAYNAME(date_added) = 'Monday'

你不需要 WEEK() 函数,因为时间间隔缩小到当前一周。

相关问题