计算每个成员名称在带有条件的表中出现的次数
Posted
技术标签:
【中文标题】计算每个成员名称在带有条件的表中出现的次数【英文标题】:Count the number of times each members name appears in a table with a condition 【发布时间】:2015-09-07 00:11:24 【问题描述】:考虑下表:
我正在寻找一个查询:
- 计算每个成员姓名出现在表格中的次数 where tournament= "EPL" AND round ="12"
对于此示例,查询应返回:
安德鲁 = 3 胜
约瑟夫 = 2 胜
约翰 = 1 胜
马丁 = 1 胜
我想过只使用一个简单的计数查询,如下所示:
Select count(winning_member) as nrWins WHERE tournament="EPL" and round="12" and winning_member = '$mem_name'
但这将导致我不得不遍历所有用户,这不是一个选择。
我完全被这个问题困住了......任何输入将不胜感激
【问题讨论】:
只需删除and winning_member = '$mem_name'
@RiggsFolly 感谢您的评论,我猜我想多了
【参考方案1】:
如果你真的想要你提到的确切输出,你可以试试这个
SELECT CONCAT(winning_member, ' = ', count(*), ' Wins')
WHERE tournament="EPL"
AND round="12"
GROUP BY winning_member;
【讨论】:
感谢您的回答,请告诉我是否要对 score_difference 行求和以计算每个成员的总分差异(在出现平局时使用)我将如何进行这样做?通过在查询中包含一个简单的 sum 函数...?请回答并不接受您的回答。谢谢 那恐怕我的朋友是另一个问题【参考方案2】:试试下面的查询
SELECT count(*) as nrWins, winning_member WHERE tournament="EPL" and round="12" GROUP BY winning_member;
【讨论】:
以上是关于计算每个成员名称在带有条件的表中出现的次数的主要内容,如果未能解决你的问题,请参考以下文章