繁体   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