1

下面是我的表结构和数据...

id   receiver   caller category   playfilename
1    4564165    42444    4        skdjfls.wav
2    4444444    42444    2        dfkjsanf.wav
3    4444444    42444    2        kldsfjas.wav
4    4845455    42444    3        dsklfjal.wav
5    4542122    42444    2        dfssadfs.wav
6    4535656    42444    2        dsfjklsaj.wav

在这里,我想计算具有相同接收者和类别列数据的行数。例如,在上表中返回一个额外的选择列,总计数为 2,它有 4444444 个接收器和类别 2。类似地,将与接收器和调用者上的值匹配的其他行返回到具有计数列的另一行,如下所示。

SELECT DISTINCT receiver, caller, category, playfilename, count from tbl_record .... ...

我不知道该怎么做。sql server 中是否有任何函数可以解决这个问题,或者我使用了存储过程之类的东西

4

1 回答 1

6

这个怎么样?

SELECT
    receiver, caller, category, playfilename,
    COUNT(*) OVER (PARTITION BY receiver, category) AS CountPerReceivercategoryGroup
from tbl_record
于 2012-05-08T09:43:36.643 回答