我的查询是在选择所有列时避免在特定列中重复。但是由于seq.number列也被选中,因此DISTINCT不起作用。 任何想法使查询工作 在下面的示例中,查询seq_num是唯一键。
编辑:包括图片中的样本数据
select DISTINCT(name), seq_num from table_1;![enter image description here](https://i.stack.imgur.com/Y3NYn.jpg)
答案 0 :(得分:2)
对于两列,此查询就足够了:
SELECT name, min(seq_num)
FROM table
GROUP BY name
如需更多专栏,请使用row_number
analytic functon
SELECT name, col1, col2, .... col500, seq_num
FROM (
SELECT t.*, row_number() over (partition by name order by seq_num ) As rn
FROM table t
)
WHERE rn = 1
上述查询只选择一行具有给定名称和每个名称的最小seq_num值。
答案 1 :(得分:0)
你无法做你想做的事。请阅读有关DISTINCT子句和查询结果集的更多信息。您会理解distinct
不适合您的问题。如果您提供了一些示例数据,以了解您拥有的内容以及查询应显示的内容,我们将尽可能为您提供帮助。