我有一个包含以下字段的表:
身份证,奖杯,登记
每行都是一票,因此例如:
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/