この記事の最終更新日: 2023年2月1日
MariaDBでは、MySQLで使えるDATE_TRUNC関数が使えません。
MariaDBで複数の日付の曜日ごとの全ての値を取得するには、DATE_FORMAT関数とDAYNAME関数を使用する必要があります。
SELECT DATE_FORMAT(timestamp_column, '%Y-%m-%d') as date,
DAYNAME(timestamp_column) as day_of_week,
value_column
FROM table_name
WHERE timestamp_column BETWEEN 'start_date' AND 'end_date'
GROUP BY date, day_of_week, value_column
ORDER BY date;
補足
timestamp_column
はで日時を保持するカラムで、timestamp型でもdate型でも問題なしvalue_column
が取得したい値を保持するカラムstart_date
とend_date
は取得したい期間の開始日と終了日- DATE_FORMAT関数は、日付を指定された形式に変換する関数で、今回は %Y-%m-%d と指定しているので、日付が一致する曜日ごとの値を取得
- DAYNAME()関数は、指定された日付の曜日を返す関数
大阪のエンジニアが書いているブログ。
コメント