SQL DISTINCT 的作用就是用来返回唯一不同的值。
在工作中,我们常常会碰到某些表会有重复的值,而我们因业务需求却仅需要唯一值的数据报表,此时就会用到distinct来过滤了
SQL DISTINCT 语法
SELECT DISTINCT 列名称 FROM 表名称
举例:
用SELECT查询表中”city”列的数据如下:
SELECT city FROM Users;
“User”表:
从结果来看,有多条记录是重复的值。如果只需要唯一不同的记录,那么我们可以使用SELECT DISTINCT语句:
SELECT DISTINCT city FROM Users;
现在从结果集中可以看到北京、南京、上海都仅列出一次记录了。
大家伙可能有疑问?上面例子返回的只有一列,那想要返回多列呢?
先看下面例子:
SELECT DISTINCT city,name FROM Users;
输出结果集:
大家从输出的结果集可以看到,并非我们想要的结果。感觉语句不生效了?也不是,其实语句是生效的,只不过是要满足ctiy和name两列的值同时相等才可以返回唯一值记录。
那如果想同时要看到多列内容怎么办?想直接通过distinct来实现真没办法,如果大家伙想到好的办法,请分享一下。那就没有办法了吗?答案是有的,通过group by语句还是可以实现的。
distinct必须放在开头,就是第一个列名称前面。
select name,distinct city from users –此语句会报错的!!!
如果觉得对您有一丢丢帮助,请点击右下角【在看】,让更多人看到该文章。
声明:来自SQL 数据库入门学习,仅代表创作者观点。链接:https://eyangzhen.com/3249.html