select Name,[Good]=sum(case Type when 'good' then 1 else 0 end),[Bad]=sum(case Type when 'bad' then 1 else 0 end) from 数据表 group by Name
解决方案 »
- 急急急!!!!!!!!!
- 按月份统计数据要怎么写。我这个数据库当时设计错误。现在统计太麻烦?
- 如何排序??
- 如何让某条float类型记录变成varchar类型?谢谢!
- ASP.NET+C#+Sql Server 2K5 如何提交临时表中的数据到数据库中?
- 各位高手:关于数据掉失更新问题:
- 好友表设计
- 求按某列的某个值排序?
- 急!!ms-sql中日期类型相减怎样能得到int类型的结果
- 老师指点指点
- SQL2000 通过存储过程无法插入记录, 急!!!!!!!!
- 一台机器即作服务器又作客户机,软件连接中出现:[DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒绝访问 (在线等)
good = sum(case when type='good' then 1 else 0 end),
bad = sum(case when type='bad' then 1 else 0 end)
from table
group by name
select name,good=sum(case type when 'good' then 1 else 0 end),
bad=sum(case type when 'bad' then 1 else 0 end) from 表
group by name
FROM T
GROUP BY NAME
insert @t select 'A' , 'good', '2008-09-09'
insert @t select 'B' , 'bad' , '2008-01-01'
insert @t select 'A' , 'good', '2008-01-02'
insert @t select 'A' , 'bad' , '2008-01-03'
select name,
good = count(case when type='good' then 1 end),
bad = count(case when type='bad' then 1 end)
from @t
group by name
/*
name good bad
---------- ----------- -----------
A 2 1
B 0 1Warning: Null value is eliminated by an aggregate or other SET operation.
*/
good = count(case when type='good' then 1 else 0 end),
bad = count(case when type='bad' then 1 else 0 end)
from table
group by name
from tb group by name
good=SUM(CASE WHEN type='good' THEN 1 ELSE 0 END,
bad =SUM(CASE WHEN type='bad' THEN 1 ELSE 0 END
FROM tb
GROUP BY name
ORDER BY name
SELECT name,
good=SUM(CASE WHEN type='good' THEN 1 ELSE 0 END),
bad =SUM(CASE WHEN type='bad' THEN 1 ELSE 0 END)
FROM tb
GROUP BY name
ORDER BY name