ホームページ > データベース > mysql チュートリアル > 今週内のレコードを MySQL にクエリするにはどうすればよいですか?

今週内のレコードを MySQL にクエリするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-26 01:46:03
オリジナル
862 人が閲覧しました

How to Query MySQL for Records Within the Current Week?

今週のレコードを MySQL にクエリする

MySQL データベース内の今週のレコードを特定することは、さまざまな方法で行うことができます。提案された方法の 1 つは、平日、前の月曜日、月曜日の日付、将来の日曜日の日付を計算し、計算された日付に基づいてリクエストを行うことを伴います。ただし、YEARWEEK() 関数を利用したより簡潔なアプローチが利用可能です。

YEARWEEK() は、デフォルトの開始日を日曜日に設定して、指定された日付の週番号を返す MySQL 関数です。現在の週 (月曜日から日曜日を含む) 内のレコードをクエリするには、次のように YEARWEEK() を使用します。

<code class="sql">SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>
ログイン後にコピー

このクエリは、日曜日を週の最初の日とみなして、各行の日付列の週番号を決定します。週 (パラメータ 1)。次に、各行の週番号と現在の日付の週番号 (CURDATE()) を比較し、同じ週に該当するレコードを効果的に取得します。

週レコードの日付範囲の修正

質問で提供されているサンプル クエリ:

<code class="sql">SELECT *
FROM   temp
WHERE  yearweek(`date`) = yearweek(curdate())</code>
ログイン後にコピー

は、デフォルトの開始日が日曜日であるため、日曜日から土曜日 (2013 年 11 月 17 日から 2013 年 11 月 23 日) までのレコードを誤って取得します。月曜日を週の最初の日として調整し、2013 年 11 月 18 日から 2013 年 11 月 24 日までのレコードを取得するには、次の変更されたクエリを使用します。

<code class="sql">SELECT *
FROM   temp
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>
ログイン後にコピー

開始日を月曜日として指定する (パラメーター 1)。 YEARWEEK() 関数は、週の境界が目的の範囲と一致することを保証します。

以上が今週内のレコードを MySQL にクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート