我有如下数据
Id Col1 Col2
================
101 101 abc
101 102 def
102 102 ght
103 101 mgj
103 102 dkf
103 103 dfj
我需要输出如下
Id Col1 Col2
================
101 101 abc
102 102 ght
103 101 mgj
(默认情况下,它应该采用 101 (col1),如果没有则采用 102(col1),否则采用 103(col1))
任何想法?
您可以在文档
DISTINCT ON
中使用ofSELECT
SELECT DISTINCT <columns>
和之间的区别在于SELECT DISTINCT ON (<columns>) <columns>
,第一个为您提供跨所有选定列的唯一行。第二个为括号内定义的每个列集提供一个唯一行,但允许返回其他列。要指定返回哪些附加数据,您需要
ORDER BY
..DISTINCT
然后将为每个 DISTINCT ON 列集返回第一行。