SELECT
CONCAT(MONTH(birthday), '-', YEAR(birthday)) AS month_year,
COUNT(*) AS birthday_count
FROM
users
GROUP BY
month_year
ORDER BY
month_year;
上記のクエリでは、users
テーブルに birthday
列があることを前提としています。CONCAT
関数を使用して、月と年を組み合わせた month_year
列を作成します。COUNT
関数を使用して、各月ごとの誕生日の数をカウントし、birthday_count
列として表示します。最後に、month_year
列で結果をソートします。
このクエリを実行すると、各月ごとの誕生日の数が表示されます。これに基づいて、月次の誕生日の傾向やパターンを分析することができます。
また、以下に他のいくつかの具体的なコード例を示します。
- 特定の月の誕生日のみを抽出するクエリ:
SELECT
*
FROM
users
WHERE
MONTH(birthday) = 1; -- 1は特定の月を表します
上記のクエリでは、users
テーブルから特定の月(この例では1月)の誕生日のみを抽出します。
- 誕生日が本日のユーザーを抽出するクエリ:
SELECT
*
FROM
users
WHERE
DATE_FORMAT(birthday, '%m-%d') = DATE_FORMAT(CURDATE(), '%m-%d');
上記のクエリでは、users
テーブルから誕生日が本日のユーザーを抽出します。DATE_FORMAT
関数を使用して、誕生日の月と日を取得し、CURDATE
関数を使用して現在の日付を取得します。