我有一个包含以下字段的表:

身份证,奖杯,登记

每行都是一票,因此例如:

32, 1, hk57 hxz
33, 1, hk57 hxz
34, 1, sj2 ghd
35, 2, hk57 hxz
36, 2 sj2 ghd


这将是2车hk57 hxz赢得1奖杯的投票,1车sj2 ghd赢得1奖杯的投票。两辆车对2奖杯各有1票

如何写一个查询来总计每辆车对每座奖杯的投票数?

还是换一种说法来计算同一注册对同一个奖杯的次数并按奖杯显示?

最佳答案

我目前没有办法尝试这种方法,但是我敢肯定,您只需要获得group by奖杯和count寄存器,就像这样:

SELECT trophy, registration, count(*) FROM your_table
GROUP BY registration, trophy



count(*)表示计数寄存器
group by的意思是“并按此列将其分组”


这里有一些参考资料:

https://dev.mysql.com/doc/refman/5.7/en/counting-rows.html

https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html



除了其他答案,如果需要,我建议给您的count(*)使用别名!

SELECT registration, trophy, count(*) as votes FROM your_table
GROUP BY registration, trophy


因此count(*)列将被称为更漂亮的票

关于mysql - Mysql仅使用一张 table 就可以为每个奖杯总计条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45112984/

10-10 04:45