gpt4 book ai didi

mysql - 如何查询mysql以选择具有两列非唯一组合的行

转载 作者:行者123 更新时间:2023-11-30 21:25:29 25 4
gpt4 key购买 nike

我有下表:

| id | user_id | game_id |
|----|---------|---------|
| 83 | 1 | 1 |
| 84 | 1 | 1 |
| 85 | 1 | 1 |
| 86 | 2 | 2 |
| 87 | 2 | 2 |
| 88 | 3 | 2 |
| 89 | 10 | 2 |
| 90 | 1 | 3 |
| 91 | 11 | 3 |

我不想选择只有一个游戏用户的行(第 1-3 行)。目标是确定哪些用户是通过游戏连接的。因此,如果 user_id 与 game_id 的组合不唯一,我只想选择行。所需的结果应类似于下表之一:

<强>1。包括重复项

| id | user_id | game_id |
|----|---------|---------|
| 86 | 2 | 2 |
| 87 | 2 | 2 |
| 88 | 3 | 2 |
| 89 | 10 | 2 |
| 90 | 1 | 3 |
| 91 | 11 | 3 |

<强>2。没有重复

| id | user_id | game_id |
|----|---------|---------|
| 86 | 2 | 2 |
| 88 | 3 | 2 |
| 89 | 10 | 2 |
| 90 | 1 | 3 |
| 91 | 11 | 3 |

我想,我必须结合使用 HAVING 和 GROUP BY 子句。但不幸的是,以下查询不起作用:

SELECT id, game_id, user_id
FROM table
AND (game_id, user_id) IN
(SELECT game_id, user_id
FROM table
GROUP BY game_id, user_id
HAVING COUNT(*) > 1)

有人知道我错过了什么吗?

最佳答案

你可以试试这个-

SELECT min(id) as id, game_id, user_id
FROM table
group by game_id, user_id

关于mysql - 如何查询mysql以选择具有两列非唯一组合的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59303526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com