常用的一些復雜SQL語句


1.根據表中的birthday統計年齡段人數:

//以下代碼表示查詢出來后的結果集添加一列字段

cast('20以下' as char) as age
SELECT COUNT((DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y'))) as value,cast('20歲以下' as char) as name 
            FROM hm_applicant WHERE (DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y')) <= 20
UNION
SELECT COUNT((DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y'))) as value,cast('20-40歲' as char) as name 
            FROM hm_applicant WHERE (DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y')) > 20 AND (DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y')) <= 40
UNION
SELECT COUNT((DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y'))) as value,cast('40-60歲' as char) as name  
        FROM hm_applicant WHERE (DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y')) > 40 AND (DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y')) <= 60
UNION
SELECT COUNT((DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y'))) as value,cast('60-80歲' as char) as name 
        FROM hm_applicant WHERE (DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y')) > 60 AND (DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y')) <= 80
UNION
SELECT COUNT((DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y'))) as value,cast('80歲以上' as char) as name 
    FROM hm_applicant WHERE (DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(birthday,'%Y')) > 80

效果圖如下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM