mysql 选择两列中的前几个不同行

3b6akqbq  于 2022-12-03  发布在  Mysql
关注(0)|答案(1)|浏览(120)

我有一个类似下面的表

| id | phone        | email            | dob       |
| -- | ----------   | ----             | ----      |
| 1  | 04-------61  | example@gmail.com| 196949200 |
| 2  | 04-------61  | example@gmail.com| 296949200 |
| 3  | 55-------51  | example@gmail.com| 396949200 |
| 4  | 04-------61  | test@gmail.com   | 496949200 |
| 5  | 66-------61  | test@gmail.com   | 596949200 |
| 6  | 77-------61  | another@gmail.com| 696949200 |

我希望获得具有不同的“phone”和“email”(不是不同的组合)沿着与第一个示例(这里以dob为例)关联的数据的行。
我想要的输出:

| id | phone        | email            | dob       |
| -- | ----------   | ----             | ----      |
| 1  | 04-------61  | example@gmail.com| 196949200 |
| 5  | 66-------61  | test@gmail.com   | 596949200 |
| 6  | 77-------61  | another@gmail.com| 696949200 |

我尝试过使用distinct和group by,但是我看不出它们在这种情况下有什么帮助。

6l7fqoea

6l7fqoea1#

DISTINCT(或GROUP BY)是一个行运算符,适用于SELECT语句中SELECT子句的所有列。如果要运算自己的特定非重复数据,则必须选择非重复范围之外的哪些数据需要在结果中获得。可以使用Max或MIN,也可以使用随机值...
例如:

SELECT MIN(id), MIN(phone), email, MIN(dob)
FROM  "I have a table similar to below"
GROUP  BY email

相关问题