SQL質問別の列の値に基づいて平均して1列を取得するにはどうすればよいですか?
私は現在、別の列の共有値に基づいて、列の特定のサブセットの平均値を取得しようとしています。ここではいくつかのサンプルデータです:
Score Player
5 1
9 1
7 1
8 2
3 2
6 2
だから私はプレイヤー2のとは別に、プレイヤー1のスコアの平均値を取得できますか?
SELECT AVG(score) FROM table WHERE DISTINCT player
しかし、もちろん、distinct
のみ、クエリのselect
部分で動作します。私が最初に考えたのようなものを試してみることです。サブクエリを使用しようとすると、次のエラーが発生します。
サブクエリは複数の行を返します。
誰でも助けてくれれば幸いです。あなたがGROUP BY
を探しているよう
あなたはどのように私はプレイヤー2のとは別にプレイヤー1のスコアの平均値を得ることができます**によって何を意味するのですか?上記のデータセットに期待される出力を加えてください。 Btw、 '... WHERE Player = 1'が行います。 – 1000111
あなたはsql-serverまたはmysqlを使用していますか? ansi sql準拠の回答が必要な場合は、単にsqlで質問にタグを付けることができます – ughai