统计count和group by的问题
在下面表中我希望每个系atype=录像带的个数,但是因为每条记录中会因为其他类型不同而影响统计数目。
具体看下表:
atype ksxq xb kcmc kcid zylb zymc aname btype
录像带 2007秋 法律与行政系 WTO概览 260000349 开放专科 物流管理 adf 主教
录像带 2007秋 法律与行政系WTO概览 260000349开放专科物流管理adfa 辅教
录像带 2007秋 法律与行政系WTO概览 260000351开放专科商务管理 adf 主教
录像带 2007秋 法律与行政系WTO概览 260000351开放专科商务管理adfaf 辅教
我希望结果是统计法律行政系出录像带的数目为2,但由于btype和name不同结果总是4,另外说一下这个里面主键是多个项:ksxq,xb,kcid,zylb
我的第一次语句是:SELECT xb, COUNT(name) FROM Allresource
WHERE (atype = '录像带 ')
GROUP BY xb
结果是:法律与行政系 4
第二此语句是:select xb,count(name) FROM Allresource
WHERE (atype = '录像带 ')
GROUP BY xb,ksxq,xb,kcid,zylb
结果仍然是错的,请各位指点。
[解决办法]
select xb, kcid, count(1) from Allresource group by xb, kcid
[解决办法]
select distinct xb,atype
from
(
SELECT xb, COUNT(atype)as atype ,btype
FROM Allresource
WHERE (atype = '录像带 ')
GROUP BY xb, btype
)a
[解决办法]
那你要的结果是?????
--------------------------------
Select * From @T
Select xb,atype From (
Select xb,btype,Count(atype) As atype
From Allresource
Group By xb,btype
) T
Group By xb,atype