悪質なタイトルで申し訳ありません。私は自分の問題をより良く表現する方法を考えることができませんでした。ミラーリングされた値を含む列を持つSQL GROUP BY
私は、次の表を持っている:
Category | A | B
A | 1 | 2
A | 2 | 1
B | 3 | 4
B | 4 | 3
私は、Category
によってグループにデータを好きなカテゴリごとに1つだけの行を返しますが、列A
とB
の両方の値を提供します。
だから、結果は次のようになります。
category | resultA | resultB
A | 1 | 2
B | 4 | 3
はどのようにこれを達成することができますか?
私はこの文を試してみました:
SELECT category, a, b
FROM table
GROUP BY category
しかし、明らかに、私は、次のエラーを取得:
列それはどちらかのANに が含まれていないため、「」選択リストに無効です集計関数またはGROUP BY句を使用します。
列 'b'は、 集計関数またはGROUP BY句のいずれにも含まれていないため、選択リストで無効です。
希望する結果を得るにはどうすればよいですか?
あなたの予想出力はもう少し説明できますか?なぜA = 1、4が維持され、2、3が削除されたのでしょうか?あなたはそれぞれのカテゴリーごとに1つの行を保持したいですか? – GurV
表示したいaとbの値を選択する基準は何ですか? – Simon
Aカテゴリの3つの行がある場合、このカップル{5,5}の結果はどのようなものになりますか? –