奇怪的sql

身份证按年龄段分组统计

SELECT
    CASE
WHEN (age >= 10 AND age <= 28) THEN
    '10-28'
WHEN (age >= 29 AND age <= 38) THEN
    '29-38'
ELSE
    '38-'
END 'eag_layer',
 count(*) emps
 
from
(SELECT F_IDCard,FLOOR(DATEDIFF(DY, substring(F_IDCard,7,4), GETDATE()) / 365.25) as age FROM [WisdomPoliceStation].[dbo].[T_InternetBarRecord])as b

GROUP BY
    CASE
WHEN (age >= 10 AND age <= 28) THEN
    '10-28'
WHEN (age >= 29 AND age <= 38) THEN
    '29-38'
ELSE
    '38-'
END
ORDER BY
    1;
原文地址:https://www.cnblogs.com/shizhengwen/p/15129057.html