Distinct:用来过滤重复记录。往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
ID | NAME |
1 | A |
2 | B |
3 | B |
4 | C |
1.例子:查询Name不重复的所有数据。注意:distinct必须放在开头
select distinct name from table
A |
B |
C |
2.查询Name不重复的所有数据,包括Id.
select distinct name, id from table
1 | A |
2 | B |
3 | B |
4 | C |
所以需要注意的是:distinct后面有多个字段,是多条件去重,只有当这几个条件都相同时才是重复记录。
3.想要得到如下结果怎么写sql
1 | A |
2 | B |
4 | C |
select * from table group by name
总结:
distinct是用来去重的
必须放在select后面的第一个
distinct后面有多个字段是多条件去重,只有当这几个条件都相同时才是重复记录。
时间: 2024-10-14 09:55:55