You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL实现忽略主客场顺序的球队交手次数统计查询

解决方案

你原查询的分组逻辑已经满足「主客场互换算同一对阵」的统计规则,只需要调整字段拼接逻辑即可输出指定格式的结果,同时可以去掉冗余的HAVING条件。

修改后SQL语句

SELECT
  CONCAT(
    LEAST(home_team, away_team),
    ' - ',
    GREATEST(home_team, away_team),
    ' ',
    COUNT(*)
  ) AS match_result
FROM event_entity
GROUP BY LEAST(home_team, away_team), GREATEST(home_team, away_team)
ORDER BY LEAST(home_team, away_team), GREATEST(home_team, away_team);

逻辑说明

  • 保留原有的LEAST()、GREATEST()逻辑:无论球队是主场还是客场,都按名称字典序固定排列在前/后位,保证A对阵B、B对阵A会被分到同一组统计
  • 删除了原语句中HAVING COUNT(*) >= 1的条件:GROUP BY聚合生成的分组,计数必然≥1,该条件无实际筛选作用
  • 用CONCAT()函数拼接字段:使用-作为对阵双方的分隔符(和你给出的第三条示例格式完全匹配,也能避免分隔符和球队名称内部可能出现的连字符混淆),末尾拼接空格和交手总次数,输出格式完全符合要求。如果你需要前两条示例里无空格的短横分隔,只需要把拼接用的' - '替换为'-'即可。

内容的提问来源于stack exchange,提问作者Volear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.20 16:15:49