ホームページ >データベース >mysql チュートリアル >mysqlで過去1週間のデータをクエリする方法
mysql では、select ステートメントを使用して過去 1 週間のデータをクエリできます。構文は「select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY)
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
構文は次のとおりです:
select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);
知識を広げる:
1 日のクエリ:
select * from table where to_days(column_time) = to_days(now()); select * from table where date(column_time) = curdate();
1 か月のクエリ:
select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <= date(column_time);
例は次のとおりです。効果は図に示すとおりです (ここでの SQL ステートメントの週の範囲は曜日を指します) 月曜日から日曜日、月曜日が週の最初の日です。クエリは 8 月 11 日であるため、月曜日の結果のみが表示されます。 :
カレンダー:
簡単に言うと、今日の日付を使用して日付を生成します。 (union all コマンドを使用して) 過去 7 日間のデータを取得し、月曜日の日付条件に基づいて今週の日付を選択します
SELECT DATE(subdate(curdate(),date_format(curdate(),'%w')-1)) as thisweek union all SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 1 day)) as thisweek union all SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 2 day)) as thisweek union all SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 3 day)) as thisweek union all SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 4 day)) as thisweek union all SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 5 day)) as thisweek union all SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 6 day)) as thisweek
分析:
SELECT DATE(subdate(curdate(),date_format(curdate(),’%w’)-1))は、週の最初の日 (月曜から日曜までが 1 週間)、つまり 8 月 6 日 推奨学習:
mysql ビデオ チュートリアル
#
以上がmysqlで過去1週間のデータをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。