我在数据库中有一个表,里面有登录记录。
Table name: user_logins
ID | timestamp
1 2019.01.03 (Year, Month, Day)
2 2019.01.04
3 2019.01.05
4 2019.01.05
5 2019.01.07
6 2019.01.07
7 2019.01.09我想在这周前只显示记录的数量。星期一至星期日(04-02-2019 . 10-02-2019)
我的PHP和SQL代码是:
$mo = mysql_num_rows(mysql_query('SELECT * FROM user_logins WHERE DAYNAME(DATE(timestamp)) = "monday" and timestamp >= DATE_SUB(CURDATE(), INTERVAL DAYOFWEEK(CURDATE())-0 DAY)'));这应显示04-02-2019年的纪录。
以下是SQL链接:SQL Fiddle
发布于 2019-02-10 18:03:08
这是:
DATE_ADD(CURDATE(), INTERVAL - WEEKDAY(CURDATE()) DAY)这周是星期一。
所以:
SELECT * FROM user_logins
WHERE
timestamp
BETWEEN DATE_ADD(CURDATE(), INTERVAL - WEEKDAY(CURDATE()) DAY)
and
NOW()发布于 2019-02-10 17:59:47
请尝试以下查询:
SELECT id FROM `user_logins`
WHERE timestamp >= curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY
AND timestamp < curdate() - INTERVAL DAYOFWEEK(curdate())-1 DAYhttps://stackoverflow.com/questions/54619289
复制相似问题