は、私はこのようなデータセットを持って言う:Oracleの1つのフィールドでグループ化する方法は?
MANAGER | USER | NUM1 | NUM2 | NUM3
---------|--------|--------|--------|-------
Bob | Jane | 9 | 88 | 2
Bob | Jane | 34 | 32 | 52
Bob | Jane | 32 | 111 | 9
Bob | Rick | 64 | 1 | 102
Bob | Rick | 12 | 41 | 16
Bob | Rick | 4 | 13 | 20
Bob | Mark | 87 | 1 | 333
Bob | Mark | 342 | 41 | 16
Bob | Mark | 54 | 813 | 6
あなたは数の列がすべて異なっている見ることができるように、管理者は常に同じであり、ユーザが繰り返しています。
ユーザーごとに1つの列のみが表示されるようにユーザー別にグループ化したいと考えています。
ので、最終的なデータセットは、次のようになります。あなたがグループに必要なので、このコードは、すべての集計では動作しません
SELECT MANAGER, USER, NUM1, NUM2, SUM(NUM3) AS NUM3
FROM MYTABLE
GROUP BY USER
:
MANAGER | USER | NUM1 | NUM2 | NUM3
---------|--------|--------|--------|-------
Bob | Jane | 9 | 88 | 2
Bob | Rick | 64 | 1 | 102
Bob | Mark | 87 | 1 | 333
を、私はこのような何かを実行したいのですが機能。 NUM1とNUM2の値が変更されるため、他の列で集計関数を使用する必要はありません。これを回避する方法はありますか?誰でも私がこれを実現させるために何ができるのか知っていますか?
説明とサンプルデータが一致しません。 –
なぜ 'sum(num3)'ですか?最終データセットには元のデータから1行だけが集計されていますが、これはあなたの言った内容と一致しません。 「1列あたりのユーザー数」は「1行...」となっていましたか? 1つの行が必要な場合、どの行をどのように決定しますか? –
GordonLinoff、これは単なるランダムな例でした。 @アレックスプール、あなたは正しいです、どのように保つべきものが決定されたのですか?他の人がやったデータセットを再現しようとしていますが、異なるフィールドを持つ別のテーブルがあります。だから、このテーブルで私はこれらの望ましくない結果を得ています。しかし私はグループ分けをすることができるSSRSに私の質問を入れました、そして、ちょうど最初の行を選んだだけです。それは正しいものではありません。だから何をすべきか分からない。 – Zolt