我有一个包含20列的数据库,但在我的选择中我只想要以下3列:
任务 唯一身份 MessageID(唯一标识符)
如何在返回上述3列时获得所有不同的UniqueID。
SELECT DISTINCT(UniqueID), Task, MessageID
似乎不起作用? :/
答案 0 :(得分:1)
DISTINCT
不是函数:
SELECT DISTINCT UniqueID
, Task
, MessageID
FROM table
但这将返回所有唯一行而非唯一UniqueID
。如果您只想检索具有不同UniqueID
的行,则应使用GROUP BY
子句并使用字段Task
和MessageID
汇总函数来操作分组数据。
答案 1 :(得分:0)
尝试类似: -
SELECT task,
UniqueID,
MessageID,
FROM (SELECT task,
UniqueID,
MessageID,
Row_number() OVER(PARTITION BY UniqueID ORDER BY MessageID) rn
FROM TableName) t
WHERE rn = 1