は、以下のことを試してみてください。
SELECT DISTINCT COL1 AS COL1, NULL AS COL2, NULL AS COL3, NULL AS COL4,
NULL AS COL5, NULL AS COL6 FROM TABLE1
UNION ALL
SELECT NULL AS COL1, DCOL2 AS COL2, NULL AS COL3, NULL AS COL4,
NULL AS COL5, NULL AS COL6 FROM (SELECT DISTINCT COL2 AS DCOL2
FROM TABLE1)
UNION ALL
SELECT NULL AS COL1, NULL AS COL2, DCOL3 AS COL3, NULL AS COL4,
NULL AS COL5, NULL AS COL6 FROM (SELECT DISTINCT COL3 AS DCOL3
FROM TABLE1)
UNION ALL
SELECT NULL AS COL1, NULL AS COL2, NULL AS COL3, DCOL4 AS COL4,
NULL AS COL5, NULL AS COL6 FROM (SELECT DISTINCT COL4 AS DCOL4
FROM TABLE1)
UNION ALL
SELECT NULL AS COL1, NULL AS COL2, NULL AS COL3, NULL AS COL4,
DCOL5 AS COL5, NULL AS COL6 FROM (SELECT DISTINCT COL5 AS DCOL5
FROM TABLE1)
UNION ALL
SELECT NULL AS COL1, NULL AS COL2, NULL AS COL3, NULL AS COL4,
NULL AS COL5, DCOL6 AS COL6 FROM (SELECT DISTINCT COL6 AS DCOL6
FROM TABLE1);
を共有し、お楽しみください。
テーブルにあるもののサンプルはありますか? 'SELECT *'と同じ結果を得た場合、COL1のすべてのレコードは区別されます。 – ProfessionalAmateur
あなたは[このような質問](http://stackoverflow.com/questions/54418/how-do-i--can-i-select-distinct-on-multiple-columns-postgresql)をチェックしますか?非常によく似ています –
DISTINCTは、最初の列だけでなく、戻ってくる列全体に適用されます。たとえば、 '(1,2,3,4,5,6)'は '(1,2,3,4,5,7)'とは区別されます。なぜなら、第6列は2つの行で異なるからです。 –