質問: mysqlで週ごとにグループ化する方法は? oracleのテーブルサーバーは、組み込み関数trunc(timestamp,'dy')を提供します。この関数は、任意のタイムスタンプを前の日曜日の午前0時に変換します。 mysqlでこれを行う最良の方法は何ですか?oracleでは、trunc(timestamp,'mm')を提供して、タイムスタンプが発生する月の最初の日の午前0時にタイムスタンプを変換します。 mysqlでは、これは簡単です。_timestamp(date_format(timestamp, '%y-%m-01')) _しかし、この_date_format_トリックは数週間は機能しません。私はweek(timestamp)関数を知っていますが、実際には年内の週番号は必要ありません。これは複数年にわたる作業用です。
回答: 「週末」の日付が必要な場合、これも同様に機能します。これにより、各週のレコード数がカウントされます。例:2010年1月9日から2010年1月9日までの間に2010年1月9日から2010年8月1日までの間に3つの作業指示書が作成された場合3 2010年1月8日 5 2010年1月16日日付時刻フィールドを切り捨てるには、追加のdate()関数を使用する必要がありました。select count(*), date_add( date(wo.date_created), interval (7 - dayofweek( wo.date_created )) day) week_ending from work_order wo group by week_ending;