sql语句distinct关键字的使用方法
distinct是过滤重复的意思.
我们来讲解一下使用方法及区别.
操作方法
- 01
我们的Sql语句在很多数据库中都是通用的,比如像Mysql数据库 Access数据库. Oracle数据库. Sqlite数据库 .甚至在我们的Excel中也可以使用Sql语句. 所以,大家主要看我下面图片中是怎么样使用sql语句的语法. 然后套用到你需要的地方就OK了.
- 02
我使用的是sqlserver 2008. 我先来显示一下我表中所有的数据,大家参考我的表来理解下面要使用的sql. select * from student;
- 03
select distinct * from student; 我们运行一下这条sql语句,结果发现根本没有效果和没运行之前没什么区别. 为什么呢?因为distinct要过滤重复,需要表中的每一行都一模一样.
- 04
那我就来修改一下表中的数据.改个一模一样的情况. 注意观察,其实两条完全一模一样的重复,还有一个是只姓名的重复. select * from student;
- 05
select distinct * from student; 这个时候,我们再允许一次. 发现已经把完全一模一样关于李小明的那一条过滤掉了.
- 06
select distinct stuname from student; 像这种用法的话,就只过滤了stuname中重复的.
- 07
如果后面写成这样子的话,那是针对后面写的字段全部重复了,再过滤.
- 08
select COUNT( distinct stuname) from student; 表示去重复之后剩余的数量总数.
- 09
像secect stuid,distinct stuname from student. 也就是distinct前面是不允许加字段的. 这样子不给通过. 但也许将来新版本的SQL语法会支持这个功能.