这个的SQL语句怎么写

jgl1010 2004-08-04 08:48:39
我有一张表TAB,里面有A ,B,C三个字段,A,B为主件,C的值只能在111,222,333三个中选
记录如
A B C
me D 111
she k 222
me f 111
me e 333

我现在要取出的形式是 A ,111的个数,222的个数,333的个个数
me, 2 0 1
she 0 1 0
请问这样的SQL语句怎么写
...全文
64 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbsql 2004-08-04
  • 打赏
  • 举报
回复
动态的如下:
create table #t(A varchar(10),B varchar(10),C varchar(10))
insert into #t(A,B,C)
select 'me', 'D', '111' union all
select 'she', 'k', '222' union all
select 'me', 'f', '111' union all
select 'me', 'e', '333'

declare @sql varchar(8000)
set @sql=''
select @sql=@sql+',sum(case when c='''+c+''' then 1 else 0 end) ['+c+'的个数]'
from #t group by c
exec('select a'+@sql+' from #t group by a')
drop table #t
CSDMN 2004-08-04
  • 打赏
  • 举报
回复
select a,sum(case when c=111 then 1 else 0 end) as [111的个数],
sum(case when c=222 then 1 else 0 end) as [222的个数],
sum(case when c=333 then 1 else 0 end) as [333的个数]
from tab
group by a


34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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