日期:2014-05-20  浏览次数:20413 次

各位帮忙呀 求一sql语句
假如有个表A有字段   B,C,记录如下

      B         C
----------------
      1         A
      1         A
      5         D
      5         D
      5         D
      4         L
       
查询出如下结果
      B         C         Count
----------------
      1         A         1
      1         A         2
      5         D         1
      5         D         2
      5         D         3
      4         L         1    

这sql语句要怎么写才好呀

------解决方案--------------------
select B,C from A order by B,C
先查询到DataSet,再手工增加一个列,并处理一下。
------解决方案--------------------
似乎没有直接的sql语句...
------解决方案--------------------
Count这一列需要自己处理.如
===============================================
回复人:JasonHeung(拥有一切不过就这样笑着哭) ( 两星(中级)) 信誉:100 2007-03-03 12:03:53 得分:0
?
select B,C from A order by B,C
先查询到DataSet,再手工增加一个列,并处理一下。

===============================================

载入到DataSet以后,再使用Select语句统计Count,或者直接使用判断添加
------解决方案--------------------
select B,C, COUNT(*) CNT
INTO #T
from A
order by B,C

循环,如果@@ROWCOUNT > 0
{
INSERT INTO #Result
select B,C, CNT FROM #T
这里判断 @@ROWCOUNT
UPDATE #T
SET CNT = CNT - 1

DELETE FROM #T
WHERE CNT = 0
}

------解决方案--------------------
--如果这个表有一个唯一字段ID,可以使用一个语句实现。

select B,C
,(select count(*) from 表名 where B=T.B and C=T.C and [ID] <=T.[ID]) as Cnt
from 表名 as T