私はそのようなテーブルを持っています:
id | gallons_used | date
----------------------
1 2 157263300
2 5 157262000
...
X曜日(月曜日、火曜日、水曜日など)に発生したレコードのみを含む結果セットを取得したい
句で使用DAYNAME()
するWHERE
WHERE DAYNAME(FROM_UNIXTIME(`date`)) = 'Monday' <-- by day of the week
AND `date` < INTERVAL CURRENT_DATE - 7 DAY <-- within the last week
DAYOFWEEK()
同様に使用できますが、これはより読みやすいです。
Unixタイムスタンプを使用しているため、次を使用できます。
SELECT id, UNIX_TIMESTAMP(`date`)
FROM ...
WHERE DAYNAME(FROM_UNIXTIME(`date`)) = 'Monday'
AND `date` > UNIX_TIMESTAMP() - 604800
date
列がタイムスタンプである場合、例として水曜日をチェックするもの:
DAYOFWEEK(date) = 4
ドキュメントへの参照: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_dayofweek
SQLFiddle: http://www.sqlfiddle.com/#!2/12762/3
私FROM_UNIXTIME()
も日付を尋ねましたが、それが必要だとは思いません(100%確実ではありません)。http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_from-unixtime