2

我想使用单选查询查找组中重复值的数量。我不能使用我想在某个组中查找出现次数的 group by 列。

例如

obsid    Name      Value                 
1        Ronak     120
2        Ronak     125   
3        Ronak     120                      
4        Pankti    130                      
5        Pankti    130
6        Sanket    140     
7        Aakash    140
8        Unnat     120

现在我想在 mysql 中开发选择查询,给我以下结果

obsid    Name      Value     Value_occurrence             
1        Ronak     120       2
2        Ronak     125       1              
4        Pankti    130       2              
6        Sanket    140       1
7        Aakash    140       1
8        Unnat     120       1
4

2 回答 2

5
SELECT min(obsid) AS obsid, Name, Value, COUNT(*) AS Value_occurence
FROM yourTable
GROUP BY Name, Value
于 2012-10-05T19:01:22.897 回答
1

按所需列分组并用于COUNT计算每组中的行数:

SELECT MIN(`obsid`) AS `obsid`, `Name`, `Value`, COUNT(*) AS Value_occurrence             
FROM yourtable
GROUP BY `Name`, `Value`

试试这个在线演示,它显示了您的示例数据和上述查询的结果。

于 2012-10-05T19:00:59.583 回答