Mysql 与一组不同

Mysql 与一组不同,mysql,distinct,distinct-values,Mysql,Distinct,Distinct Values,我需要编写一个查询来过滤我的数据。 在我的表中,我将所有数据按val1分组,但必须删除val2的多个值 我的桌子是这样的: | id | val1 | val2 | other | |------------------|------- | 1 | A1 | b1 | ... | 2 | A1 | b1 | ... | 3 | A1 | b2 | | 4 | A2 | b1 | | 5 | A3 | b1 | | 6 | A3 | b

我需要编写一个查询来过滤我的数据。 在我的表中,我将所有数据按val1分组,但必须删除val2的多个值

我的桌子是这样的:

| id | val1 | val2 | other |
|------------------|-------
| 1  | A1   |  b1  | ...
| 2  | A1   |  b1  | ...
| 3  | A1   |  b2  |

| 4  | A2   |  b1  |

| 5  | A3   |  b1  |
| 6  | A3   |  b1  |
| 7  | A3   |  b2  |

| 8  | A4   |  b1  |
| 9  | A4   |  b3  |
| 10 | A5   |  b1  |
我需要这个:

| id | val1 | val2 |
|------------------|
| 1  | A1   |  b1  |
| 3  | A1   |  b2  |
| 4  | A2   |  b1  |
| 5  | A3   |  b1  |
| 7  | A3   |  b2  |
| 8   ...
| 9   ...
| 10  ...

这是一种select*,与表group by val1不同(val2)。

使用
group by

以下内容应根据您的问题返回结果

SELECT MIN(id) AS id, val1, val2
FROM   YourTable
GROUP BY
       val1, val2
细分

  • 对不希望分组的列使用聚合函数。在我们的示例中,这是
    id
    列上的
    MIN
    聚合函数。这将返回每个组的最低id
  • 按分组
    要获取其不同值的所有列