誕生日と性別を保持するテーブルがあります
SELECT `tblresultdatetime`, `tblresultbirthdate`, `tblgendertexten`
FROM `ci_wizard_results`
INNER JOIN ci_wizard_genders ON ci_wizard_results.tblresultgender = ci_wizard_genders.tblgenderid
そこで、年齢層などを示す表を作成したいと思います。
最初に日付を年齢に変換する必要があると思います。
select *,year(`tblresultdatetime`)-year(`tblresultbirthdate`) - (right(`tblresultdatetime`,5) < right(`tblresultbirthdate`,5)) as age from `ci_wizard_results`
しかし、その後、どのように継続するかはわかりません。ケースを使用する必要があると思います:
select *,year(`tblresultdatetime`)-year(`tblresultbirthdate`) - (right(`tblresultdatetime`,5) < right(`tblresultbirthdate`,5)) as age,
count(case when age <= 30 and age> 39 then 1 end) as agegroup3039
from `ci_wizard_results`
ただし、場合によってはエイリアスを使用できないため、ちょっと行き詰まっています。どうすれば続行できるか提案はありますか?
(私の最終的な目標は、reportico を介してレポートにデータを表示することです)
ありがとう!