簡體   English   中英

根據3個不同的列選擇不同的行

[英]select distinct rows based on 3 distinct columns

我有這樣的桌子

    id     userid     cc    cop    
    1       23        0.5   0.9
    2       23        0.5   0.9
    3       29        2.6   9.4
    4       75        4.8   8.9
    5       29        2.6   9.4
    6       45        6.7   9.0

我希望cc和cop的所有角色都不同1.e結果應該是這樣的

    id     userid     cc    cop    
    1       23        0.5   0.9
    3       29        2.6   9.4
    4       75        4.8   8.9
    6       45        6.7   9.0

我想要任何具有cc,cop,userid的行,但只能選擇一個偽代碼:select * from table from userid,cc,cop與結果不同。

無論記錄如何保存在表上,這都將返回期望的結果。

SELECT MIN(ID) ID, userid, cc, cop
FROM   tableName
GROUP  BY userid, cc, cop

其他來源

也許你可以嘗試這樣的事情

SELECT MIN(id), userid, cc, cop 
FROM table 
GROUP BY userid, cc, cop;

它將選擇每個事件的第一個ID。

您將要使用使用GROUP BY子句的select語句。

SELECT *
FROM Table
GROUP BY userid

它們顯示為單獨的條目,因為每一行都有至少一個不同的列(在本例中為id)。 您可以通過使用上面的語句,或者通過從SELECT語句中省略'id'列來避免這種情況,例如:

SELECT userid, cc, cop
FROM Table

如果您選擇的數據沒有上面的id列,則該數據將自動分組,因為將有完全重復的行。

希望這可以幫助。

使用分組依據嘗試此查詢

select * from mytable group by userid , cc , cop 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM