2013-04-18 51 views
-2

用户可以看到他们本周上传的内容。我有下面的代码行:MYSQL本周选择索引

这是正确的吗?

SELECT * 
FROM images 
WHERE userid = '$userid' 
    AND uploadeddate >= CURDATE() - INTERVAL WEEKDAY(day) DAY 
    AND uploadeddate < CURDATE() - INTERVAL WEEKDAY(day) DAY + INTERVAL 7 DAY 
ORDER BY uploadeddate DESC 

我有创造(用户ID,uploadeddate)指数。

+2

你得到什么错误? –

+0

索引勉强可以破解'SELECT'查询语法 – zerkms

+1

什么错误?你明白你的查询选择了什么?请参阅提问问题指南(http://stackoverflow.com/questions/how-to-ask_)。这不是“有人会做我的作业”网站。 –

回答

0

要使原始查询工作day需要位于您要查询的数据库中(或设置为变量),并且它需要位于MySQL日期'0000-00-00'或日期时间'0000- 00-00 00:00:00'格式。

WEEKDAY()返回输入日期0-6。

$first; //is earliest offset in the range 
$last; //is the latest offset in the range 

SELECT * FROM images WHERE userid = '$userid' 
AND uploadeddate > CURDATE() - INTERVAL $first DAY 
AND uploadeddate < CURDATE() - INTERVAL $last DAY 
ORDER BY uploadeddate DESC 

因此,像这样的查询将返回上周的结果。

SELECT * FROM images WHERE userid = '$userid' AND 
uploadeddate > CURDATE() - INTERVAL 14 DAY 
AND uploadeddate < CURDATE() - INTERVAL 7 DAY 
ORDER BY uploadeddate DESC