mysql多表联查结果根据指定字段去重
时间: 2023-10-09 16:14:23 浏览: 403
sql_按照某一个字段进行去重后获取全部字段
5星 · 资源好评率100%
可以使用 SELECT DISTINCT 来去除重复的结果,结合多表联查的语法,可以写出如下的 SQL 语句:
```
SELECT DISTINCT t1.field1, t2.field2, t3.field3
FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.table1_id
INNER JOIN table3 t3 ON t2.id = t3.table2_id;
```
其中,t1、t2、t3 分别为表 table1、table2、table3 的别名,field1、field2、field3 分别为需要查询的字段。使用 DISTINCT 可以去除所有字段的重复结果。需要注意的是,如果只需要根据某个指定字段去重,可以只在该字段上使用 DISTINCT。例如,如果只需要根据 t1.field1 去重,可以写成:
```
SELECT DISTINCT t1.field1, t2.field2, t3.field3
FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.table1_id
INNER JOIN table3 t3 ON t2.id = t3.table2_id
GROUP BY t1.field1;
```
这样可以保留 t1.field1 不重复的结果,并且可以在 GROUP BY 子句中对其他字段进行聚合操作。
阅读全文