1

過去 7 日間のレコードを取得しようとしています。これは、私が仕事に取り掛かろうとしている私のselectステートメントです:

select from_unixtime(time,'%m/%d/%y') as fdate, from_unixtime(time,'%h:%m:%s') as ftime
from mdl_log
where from_unixtime(time,'%y-%m-%d')  between curdate() and curdate() - INTERVAL 7 DAY

のようなwhere句のさまざまな化身を試しました

where time between curdate() and curdate() - INTERVAL 7 DAY

where from_unixtime(time,'%yyyy-%mm-%dd')  between curdate() and curdate() - INTERVAL 7 DAY

where date(time) between curdate() and curdate() - INTERVAL 7 DAY

select curdate() - この形式で日付が表示されます 2012-11-08

4

1 に答える 1

2

あなたは最後の転生でほとんどそこにいました。ただし、リンゴとリンゴを比較する必要があります。time整数であるため、 MySQL の日付/時刻関数を使用するには変換する必要があります。

WHERE DATE(FROM_UNIXTIME(time)) between CURDATE() and CURDATE() - INTERVAL 7 DAY

ユースケースを考えると、実際にはFROM_UNIXTIME()のみが必要です。

WHERE FROM_UNIXTIME(time) between CURDATE() and CURDATE() - INTERVAL 7 DAY
于 2012-11-08T16:46:12.697 に答える