2014-06-19 126 views
0

我有20列,但在數據庫中我選擇我只想以下3列:SELECT DISTINCT上一列,多列返回

任務 的UniqueID 郵件ID(唯一標識符)

如何我可以在返回上述3列時獲取所有不同的UniqueID。

SELECT DISTINCT(UniqueID), Task, MessageID 

似乎不工作? :/

+1

是有可能的,問題是:如果任務和郵件ID列特定的UniqueID存儲不同的值,你要檢索的價值? – Pred

回答

1

DISTINCT不是一個函數:

SELECT DISTINCT UniqueID 
    , Task 
    , MessageID 
FROM table 

但是,這將返回所有獨特不是唯一UniqueID。如果只想檢索具有不同UniqueID的行,則應該使用GROUP BY子句和帶有字段TaskMessageID的聚合函數來處理分組數據。

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