0

我失去了一点,不能正确地想到这个 sql

我有

表: userid 、 counter 、 date 和

我需要检查用户在过去 24 小时内下载了多少文件,启动 sql

SELECT SUM(counter) FROM download_log WHERE userid = 258 AND date = DATE(NOW())

但它返回 null ,我下载了最少 40 个文件,
日期表中的日期格式是

2012-05-05 01:59:55

我也试过, date = NOW()

同样的事情我错过了什么?

谢谢你!

4

3 回答 3

1

尝试这样的事情:

SELECT SUM(counter) FROM download_log WHERE userid = 258 AND date = CURDATE()

那应该行得通。

于 2012-07-26T23:28:11.460 回答
1

我猜您将日期和时间存储在名为的列中date,因此它应该可以工作:

SELECT SUM(counter) FROM download_log WHERE userid = 258 AND 
DATE(`date`)= DATE(NOW())
于 2012-07-26T23:28:54.880 回答
1

会不会是:

SELECT SUM(counter) FROM download_log where userid = 258 and date >= DATE_SUB(NOW(), INTERVAL 24 HOUR);

您必须在过去 24 小时内获取所有行。

于 2012-07-26T23:41:09.673 回答