これは、 SQL を使用して日付型の誕生日フィールドから年齢を取得する に関するフォローアップの質問です。date
MySQL データベースにユーザーの誕生日用のフィールドがあり、次のクエリを使用して年齢を取得します。
SELECT
ROUND(DATEDIFF(
Cast((SELECT NOW()) as Date),
Cast(birthday as Date)
) / 365, 0) as age
FROM member
次に、さまざまな年齢グループの人数を選択する必要があります。たとえば、13 ~ 17、18 ~ 21、22 ~ 25、26 ~ 35、36 ~ 50、51 ~ MAX の年齢グループに属する人数を知る必要があります。
MySQLを使用してそれは可能ですか?
私は次UNION
のように考えました:
SELECT
ROUND(DATEDIFF(
Cast((SELECT NOW()) as Date),
Cast(birthday as Date)
) / 365, 0) as age,
1 as agegroup
FROM member WHERE age >=13 AND age <=17
UNION
SELECT
ROUND(DATEDIFF(
Cast((SELECT NOW()) as Date),
Cast(birthday as Date)
) / 365, 0) as age
2 as agegroup
FROM member WHERE age >=18 AND age <=21
しかし、それは長くて醜いでしょう。もっと良い方法があるはずです!