sql分组聚合练习

1、 按性别统计客户分别有多少

预期结果:

select Gender,COUNT(*) 
from p_customer 
group by Gender order by Gender

2、 查询湖南、湖北、山东三省各创建人(createdby)创建了多少客户。

预期结果:

select 
case when CreatedBy <>'' then CreatedBy end as '创建人' ,
sum(case when  Province='湖南' then 1 else 0 end ) as '湖南',
sum(case when Province='湖北' then 1 else 0 end) as '湖北',
sum(case when Province='山东' then 1 else 0 end) as '山东'
from p_Customer
group by CreatedBy
order by CreatedBy

 

3、 查询5日内过生日的客户姓名及生日(不考虑年末5天情况。如果能考虑则更好)

预期结果:

select CstName 客户姓名,BirthDate 客户生日
from p_Customer
where 
( 
dateadd(year, year( GETDATE() ) - year(BirthDate) , BirthDate )
between GETDATE() and dateadd(day,5,GETDATE()) 
)
or
(
dateadd(year, year( GETDATE() ) - year(BirthDate)+1 , BirthDate )
between GETDATE() and dateadd(day,5,GETDATE())
)
ORDER BY BirthDate

4、  查询5条创建客户记录最多的创建人姓名,按创建记录数从大到小排序

预期结果:


select 
top 5 CreatedBy,
case when CreatedBy<>'' then COUNT(*) end as ' 创建人数'
from p_customer
group by CreatedBy
order by COUNT(*) desc

5、  查询创建过同名客户的创建人(即同一人创建过2个以上名字相同的客户)

预期结果:

select distinct CreatedBy
from p_customer
group by CstName,CreatedBy
having COUNT(*)>1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值