2

我有一张这样的桌子

    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 where userid,cc,cop 与结果不同。

4

4 回答 4

2

无论记录是如何保存在表上的,这将返回所需的结果。

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

其他来源

于 2013-01-30T11:35:14.477 回答
2

也许你可以尝试这样的事情

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

它将选择每个出现的第一个 id。

于 2013-01-30T11:37:12.403 回答
1

您将需要使用使用 GROUP BY 子句的 select 语句。

SELECT *
FROM Table
GROUP BY userid

它们显示为单独的条目,因为每一行至少有一个不同的列(在本例中为 id)。您可以通过使用上面的语句或通过从 SELECT 语句中省略“id”列来避免这种情况,例如:

SELECT userid, cc, cop
FROM Table

如果您选择没有像上面这样的 id 列的数据,那么数据将自动分组,因为会有完全重复的行。

希望这可以帮助。

于 2013-01-30T11:43:43.900 回答
0

用 group by 试试这个查询

select * from mytable group by userid , cc , cop 
于 2013-01-30T11:36:14.697 回答