【发布时间】:2014-02-22 18:20:46
【问题描述】:
我有问题... 我在这个网站上搜索任何解决方案......我尝试了它们,但只进行了一次锻炼:( 所以我试图获得 7 天前的前 10 名结果... 所以我尝试这样的代码:
SELECT * FROM `data`
WHERE cast(`date` as DATE) BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY)
AND CURDATE() ORDER by `viewed` DESC LIMIT 0,10
或
SELECT * FROM `data`
WHERE `date` > (NOW() - INTERVAL 7 DAY)
ORDER by `viewed` DESC LIMIT 0,10
或
SELECT * FROM `data`
WHERE DATE(`date`) = DATE_SUB(NOW(), INTERVAL 7)
ORDER by `viewed` DESC LIMIT 0,10
或
SELECT * FROM `data`
WHERE `date` >= SUBDATE(NOW(), INTERVAL 7 DAY)
ORDER by `viewed` DESC LIMIT 0,10
我尝试将它们与NOW()TIME()DATE()CURDATE()SUBDATE()SUBTIME()DATE_SUB() 等任意组合...但没有任何效果:(我真的不知道是什么问题. 我用time() 函数(PHP) 将日期提交到数据库,会不会是这个问题?
【问题讨论】:
-
你用 PHP 中的
time()函数或 MySQL 自己的TIME()function 将日期提交到 mysql?date列的数据类型是什么?如果你用 PHPtime()填充它,它可能是一个 unix 时间戳 -
“无济于事”是什么意思?你能展示一些示例数据吗?
-
日期的数据类型是什么?
-
它的 php 时间()。它将它保存到
data,例如“1392749561” -
类型是指数据库中的类型。