简体   繁体   English

MySQL Select 计数,按不同分组 - 两列

[英]MySQL Select count, group by distinct - two columns

I want to get on Mysql:我想上 Mysql:

  • Count number of rows where column done is < 2计算完成列 < 2 的行数
  • Get the runner id获取跑步者ID
  • but group if runnerA and runnerB are same person.但如果 runnerA 和 runnerB 是同一个人,则分组。

So I want to know the number of rows where each runner is present, even if he is in runnerA or runnerB.所以我想知道每个跑步者存在的行数,即使他在跑步者A或跑步者B中。

An exemple:一个例子:

My datas:我的数据:

id ID id_runnerA id_runnerA id_runnerB id_runnerB done完毕
1 1 12 12 5 5 1 1
2 2 20 20 12 12 1 1
3 3 12 12 1 1 3 3

The result should be:结果应该是:

id_runner id_runner count数数
12 12 2 2
20 20 1 1
5 5 1 1

Thank you谢谢

Looks like it might be看起来可能是

SELECT
  id_runner, count(*)
FROM
  (
    SELECT id_runnera as id_runner FROM t WHERE done < 2
    UNION ALL
    SELECT id_runnerb FROM t WHERE done < 2
  ) x
GROUP BY
  id_runner

But it'd be helpful to see some more test data但是看看更多的测试数据会很有帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM