0
私は次のようなデータを持つテーブルAがありますようグループ化されていない列データを抽出する方法は?
colA colB
a x
b x
c y
d y
e z
f z
私は出力をしたい:
colA colA_1
a b
c d
e f
すなわち
AをcolBに基づいてデータをグループ化し、colAから値をフェッチします。私は同じ値がcolBで正確に2回現れることを知っています。
SELECT a1.colA, a2.colA
FROM A a1
JOIN A a2
ON a1.colA != a2.colA and a1.colB=a2.colB;
しかし、これはのような出力が得られます:
私は何をしようとしていますです
colA colA_1
a b
b a
c d
d c
e f
f e
がどのように私は、これは所望の出力を得るために修正できますか?
回避策として、代わりに 'SELECT a1.colA、a2.colA'のあなたは' SELECT a1.colA、a2.colA、A1を選択することができますcolBでグループ化し、colAで行を並べ替えて、このリンクでソリューションを適用して、各グループの最初の行を選択します。http://stackoverflow.com/questions/3800551/select-first-row-in-グループごとに – Rumpelstinsk