SQL问题

有这么这么一个表 我想要这样的结果,但不知道怎么作,请教一下SQL
谢谢啦 
SEQ REF ...
 1 1
 2 2
 3 1
 4 4
 5 5
 6 6
 7 5
 8 5
 .
 .
 .
我想要的结果 SEQ=REF 的结果集加了个 多加个COUNT 字段

SEQ REF COUNT(SEQ=REF) 说明
 1 1 2 1的时候count 2
 2 2 1 2的时候count 1
 4 4 1 4的时候count 1
 5 5 3 5的时候count 3
 6 6 1 6的时候count 1

作者: cnbule   发布时间: 2011-06-16

什么啊,COUNT怎么出来的

作者: zy112429   发布时间: 2011-06-16

SQL code

declare @t table (SEQ int,REF int)
insert into @t
select 1,1 union all
select 2,2 union all
select 3,1 union all
select 4,4 union all
select 5,5 union all
select 6,6 union all
select 7,5 union all
select 8,5

SELECT A.REF,B.C FROM (SELECT * FROM @t WHERE SEQ=REF) A 
LEFT JOIN 
(select REF,COUNT(*) AS C from @t group by REF) B 
ON A.REF=B.REF
/*
REF         C
----------- -----------
1           2
2           1
4           1
5           3
6           1
*/

作者: maco_wang   发布时间: 2011-06-16

SQL code

declare @t table (SEQ int,REF int)
insert into @t
select 1,1 union all
select 2,2 union all
select 3,1 union all
select 4,4 union all
select 5,5 union all
select 6,6 union all
select 7,5 union all
select 8,5

SELECT A.SEQ ,A.REF,B.C as [Count] FROM (SELECT * FROM @t WHERE SEQ=REF) A 
LEFT JOIN 
(select REF,COUNT(*) AS C from @t group by REF) B 
ON A.REF=B.REF
/*
SEQ         REF         Count
----------- ----------- -----------
1           1           2
2           2           1
4           4           1
5           5           3
6           6           1
*/


少写了一列。

作者: maco_wang   发布时间: 2011-06-16

SQL code

SELECT SEQ,REF,(SELECT COUNT(0) FROM TB WHERE REF=A.REF) FROM TB A
 WHERE SEQ=REF

作者: zs621   发布时间: 2011-06-16

SQL code

select ref,count(*) from a 
group by  ref 

作者: chuanzhang5687   发布时间: 2011-06-16

SQL code

SELECT SEQ,REF,(SELECT COUNT(*) FROM a WHERE REF=b.REF)as COUNT FROM a as b
 WHERE SEQ=REF

作者: chuanzhang5687   发布时间: 2011-06-16