一个group by例子


select 
    
case 
        
when (datediff(yy,csrq,getdate()) > 18then '18岁及以上'        
        
when (datediff(yy,csrq,getdate()) = 11then '11岁'
        
when (datediff(yy,csrq,getdate()) = 12then '12岁'
        
when (datediff(yy,csrq,getdate()) = 13then '13岁'
        
when (datediff(yy,csrq,getdate()) = 14then '14岁'
        
when (datediff(yy,csrq,getdate()) = 15then '15岁'
        
when (datediff(yy,csrq,getdate()) = 16then '16岁'
        
when (datediff(yy,csrq,getdate()) = 17then '17岁'
        
else '10岁及以下'
    
end 'AgeStage',
    
count(*as 'Num', xbm as Sex,
    XSLBM 
as 'Class',MZM as 'Nationality',ZJXY as Boarder
from stu_studentinfo
where  Dept_ID 
in (select id from sys_departments where p_id 
in (select id from sys_departments where p_id in (252,258,277,279
and gradeclass = '初一年级'))
group by 
case 
    
when (datediff(yy,csrq,getdate()) > 18then '18岁及以上'        
    
when (datediff(yy,csrq,getdate()) = 11then '11岁'
    
when (datediff(yy,csrq,getdate()) = 12then '12岁'
    
when (datediff(yy,csrq,getdate()) = 13then '13岁'
    
when (datediff(yy,csrq,getdate()) = 14then '14岁'
    
when (datediff(yy,csrq,getdate()) = 15then '15岁'
    
when (datediff(yy,csrq,getdate()) = 16then '16岁'
    
when (datediff(yy,csrq,getdate()) = 17then '17岁'
    
else '10岁及以下'
end, xbm,XSLBM,MZM,ZJXY
原文地址:https://www.cnblogs.com/barrysgy/p/1879917.html