<分区>
我有一个表“播放器”如下 在哪里: ID为主键。
- 日期 = 他们玩的日期(仅 1 个月,也可以从 1 到 30)
- 姓名=队员姓名
- Sport = 他们参加的运动,列表中可以有很多运动;但我只关注“足球”
这是表格
+----+------------+-------+-------------+
| ID | Date | Name | Sport |
+----+------------+-------+-------------+
| 1 | 1 | A | football |
| 2 | 1 | A | soccer |
| 3 | 3 | A | tennis |
| 4 | 2 | B | tennis |
| 5 | 2 | B | football |
| 6 | 1 | C | basketball |
| 7 | 1 | C | tennis |
| 8 | 1 | C | fishing |
+----+------------+-------+-------------+
我想找到所有在一天内参加超过 2 项运动的人(姓名和运动),其中一项运动必须是“足球”。
所以结果应该是这样的,
+----+------+------+----------+
| ID | Date | Name | Sport |
+----+------+------+----------+
| 1 | 1 | A | football |
| 2 | 1 | A | soccer |
| 4 | 2 | B | tenis |
| 5 | 2 | B | football |
+----+------+------+----------+
我们不计算姓名“C”,因为他不踢足球(即使他一天参加超过 2 项运动)。
我试试
SELECT * FROM player GROUP BY Date, Name HAVING count(Date) > 1;
但不会给我我想要的。
PS:此帖非重复帖。 Finding duplicate values in MySQL 中的那些答案 不会直接针对这个问题。这是查找具有重复值和条件的行。请删除“重复”标签,以便其他人可以从这个问题中受益。