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
谢谢啦
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