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列が1つ返されます。同様に、レシーバーと呼び出し元の値に一致する他の行が、以下のようにカウント列を持つ別の行に返されます。

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

どうすればいいのかわからない。この問題を解決するためのSQLサーバーの関数はありますか、またはストアドプロシージャのようなものを使用していますか?

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 に答える