在MySQL SELECT语句中计算多个列中的重复项并将其删除
我在MySQL数据库中有一个表:在MySQL SELECT语句中计算多个列中的重复项并将其删除,mysql,select,count,Mysql,Select,Count,我在MySQL数据库中有一个表: number | string -------+------- 318 | no 504 | no 318 | yes 504 | no 60 | yes 我想计算发生次数并删除重复项,将计数添加到SELECT语句中的剩余行: number | string | count -------+--------+------ 60 | yes | 1 318 | no | 1 318 | yes
number | string
-------+-------
318 | no
504 | no
318 | yes
504 | no
60 | yes
我想计算发生次数并删除重复项,将计数添加到SELECT
语句中的剩余行:
number | string | count
-------+--------+------
60 | yes | 1
318 | no | 1
318 | yes | 1
504 | no | 2
尽管给出了答案,但当我有多个列时,我无法思考如何计数才能获得此结果。我想您只需要在
GROUP BY
子句中包含多个列。这应该起作用:
SELECT number, string, COUNT( number ) AS count
FROM foo
GROUP BY number, string
ORDER BY number, string
是的,它应该返回相同的结果。我通常会计算主键字段或我已经选择的字段,因为我相信这有时会影响性能。这里有一个更好的讨论: