-2

ユーザーは、今週アップロードしたものを見ることができます。以下のコードが並んでいます:

これは正しいです?

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

(userid, Uploaddate) のインデックスを作成しました。

4

1 に答える 1

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
于 2013-04-18T00:53:05.080 に答える