跪求SQL 统计语句

yanasdf789 2014-10-28 03:38:21
orcle 中 数据表 Table
所属地区 面积
A 10
B 6
C 69
A 30
B 40



要求的统计结果
所属地区 10以下 10~20 20~50 50以上
A 0 1 1 0
B 1 0 1 0
C 0 0 0 1


如果想得到以上结果该如何 写SQL 语句
...全文
86 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlp321002 2014-10-28
  • 打赏
  • 举报
回复


 create table tb(dq varchar(20),mj float)

 insert into tb(dq,mj)
 select 'A',10 from dual
 union all
 select  'B',6  from dual
 union all
 select 'C',69  from dual
 union all
 select 'A',30  from dual
 union all
 select 'B',40  from dual
 
 
 
 select 
 dq as 所属地区,
  sum(case when mj<10 then 1 else 0 end) as "10以下",
  sum(case when mj>=10 and mj<20 then 1 else 0 end) as "10~20",
  sum(case when mj>=20 and mj<50 then 1 else 0 end) as "20~50",
  sum(case when mj>=50 then 1 else 0 end) as  "50以上"
 from tb
 group by dq

/*
所属地区 "10以下" "10~20" "20~50" "50以上"
1	A	0	1	1	0
2	B	1	0	1	0
3	C	0	0	0	1
*/



快乐起航2020 2014-10-28
  • 打赏
  • 举报
回复
case when可以么
exception92 2014-10-28
  • 打赏
  • 举报
回复
给出表结构和测试数据

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧