mysql UNION all去重
时间: 2023-10-09 21:12:28 浏览: 98
MySQL天池训练营Task04
`UNION` 会自动去重,如果想保留重复的记录需要使用 `UNION ALL`,但是如果想在 `UNION ALL` 的基础上去重,可以在 `UNION ALL` 的结果上使用 `DISTINCT` 关键字。
例如:
```
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2
UNION ALL
SELECT column1, column2 FROM table3
UNION ALL
SELECT column1, column2 FROM table4
UNION ALL
SELECT column1, column2 FROM table5
```
以上查询结果会包含重复的记录,如果想去重可以使用以下查询:
```
SELECT DISTINCT column1, column2 FROM (
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2
UNION ALL
SELECT column1, column2 FROM table3
UNION ALL
SELECT column1, column2 FROM table4
UNION ALL
SELECT column1, column2 FROM table5
) AS t
```
以上查询会在 `UNION ALL` 的结果上应用 `DISTINCT`,返回去重后的结果集。
阅读全文