MySQL: 今週のレコードの取得
この質問は、期間内の特定の期間に基づいて MySQL テーブルからレコードを取得することを中心に展開します。今週。このタスクを達成するために、提供されたアルゴリズムとより効率的な MySQL クエリを調べてみましょう。
最初のアルゴリズムには、曜日の計算、前の月曜日の日付の決定、定義された日付範囲内のレコードのフェッチが含まれていました。このアルゴリズムは機能しますが、複数の手順と計算が必要です。
幸いなことに、MySQL には、このプロセスを簡素化できる組み込み関数が用意されています。 YEARWEEK() 関数、特にパラメーター '1' を使用すると、特定の日付と年の週番号を決定できます。
YEARWEEK() を使用した効率的なクエリ
次のクエリは、YEARWEEK() 関数を利用して今週のレコードを取得します。
SELECT * FROM temp WHERE YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)
クエリについて
追加の質問への対処
で提供されるクエリ質問では、月曜日から始まる週のレコードが正確に選択されません。月曜日が週の 1 日とみなされ、前の週の日曜日が含まれます (ISO 形式)。これを修正するには、クエリを次のように変更します。
SELECT * FROM temp WHERE YEARWEEK(`date`, 7) = YEARWEEK(CURDATE(), 7)
概要
YEARWEEK() 関数は、以下に基づいてレコードを選択する簡単かつ効率的な方法を提供します。 MySQL の週番号。複雑な計算や中間ステップが不要になります。 YEARWEEK() 関数を理解すると、今週または 1 年の特定の期間のレコードを簡単に取得できます。
以上がYEARWEEK() を使用して MySQL で今週のレコードを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。