distinct在sql中的应用
在采集的一个站点里面汇集了较多的数据,大概采集了有几十万,同一行业站点的数据几乎都采集了,当然标题是没有改掉的,还是原标题,这是为了方便筛选重复数据的,这几十万的数据里面汇集了较大比重的重复数据,本来想要把这些数据删除掉,但夏日博客苦于没找到好的方法,最后还是想到了 sql 中 distinct 参数,这个参数已经N久没有用过了,其作用就是将重复的数据给过滤掉不显示,看来用在这个采集站点里是最为合适不过了,下面重点的去了解一下 distinct 在 sql 中的应用吧。
distinct作用:
在数据表里,往往会重复许多值,比如输入两个字段的“夏日博客”,如果我们只想要输出一个“夏日博客”的时候,就可以用到 distinct 了,利用 distinct 可以只显示出来一个“夏日博客”。
distinct语法:
因为是需要输出值的,所以需要用到 SELECT,语法如下:
- SELECT DISTINCT 列名称 FROM 表名称
distinct实例一:
为了更直观的看到 distinct 的作用效果,我们来进行一下使用 distinct 之前和之后都是怎样的效果,比如我们有如下 Orders 表:
如果不使用 distinct 来进行读取,则 SQL 为 “SELECT Company FROM Orders” 语句,哪么读取出来的结果就为如下形式:
我们可以看出,重复值 W3School 被两次显示出来了,如果内容是重复的,则只显示一次就可以了,下面再来看一下使用 distinct 之后输出的值是怎样的,先来看一下使用 distinct 之后的 SQL 吧,如下:
- SELECT DISTINCT Company FROM Orders
运行之后的结果形式为:
现在 W3School 只被显示了一次。
distinct实例二:
再浅显的一个小实例,如果我们有如下的 表A:
在 sql 中使用 distinct 来去除重复的数据,运行后的效果如下:
distinct实例三:
还是接着 distinct实例二,我们再稍微将 sql 语句更改一下,不仅去除表 name 里面的重复值,且连 id 的值一同去除掉,SQL语句如下:
- select distinct name, id from A
执行后的效果如下所示:
我们可以看到执行后的效果里面已经将 name 字段和 id 字段里面重复的值都已经去掉了。
采集要用这个吗,不是直接有采集工具来采集麽。
sql 中的 distinct 原来起这个作用。
采集怕的就是重复的数据。
distinct貌似对性能影响挺大的
对于技术性的东东,还是浮云,不懂。
性能如何?
神马?
博主这是一定有自己的服务器吧,一天就采集几十万这得占多少空间呀。
这年头可都是牛人啊。
呵呵,有点小邪恶~
什么邪恶,不明觉厉,楼上这都是没看啥文章,一篇普通的技术文章而已,想哪去了。
看到不少站点都转载你这篇文章的。
转载夏日文章的多了,看来夏日写的都是干货呀。
还是大神牛逼。
跟着大神走 大神带我装逼带我飞
group by 差不多
distinct 是什么意思,虽然不是很懂,但看博主写很详细与专业。
select distinct max(z.id),z.djbm,z.sname from sj_dj z group by z.djbm, z.sname,,在这句里是不是没什么作用,去掉和添加上去没什么区别,,求大神指教。
很简单的理解,,distinct的只显示一次重复出更的值。 不过这个值出现多少次只显示一次。
关键词 DISTINCT 用于返回唯一不同的值,在csdn里面看到过这个函数。
用得不是很多,最好在采集的时候能够避免出现重复的数据,
重复的内容坚决不能出现。
博主能一次性采集十几万的数据,说明也是个很牛逼的人物。
我一天最多的时候也就上传一百多篇文章,还是手动上传的,不会技术好可怕呀。
看来是彻讲 distinct 函数的。
同一行业的数据太多了,莫非把07,08年的数据都给采集了,然并卵,浪费资源。
采集可就不管这些了,反正什么数据都采,这种就是垃圾站,存活率很小。
好厉害,一天采集几十万数据,我也是醉了。
看来是位大神呀
看着感觉再看天书。。。
好吧!对此表示一窍不通。。。
好吧,对 sql 神马的一窍不通,不过看博主的实例应该是不错的。
不是太懂,只学过一点点的 SQL,深入的就不懂了。
看来 distinct 的作用不小呢,尤其对于大批量的数据,对于小博客站来说没什么用了。
话说 distinct 只是把重复数据给隐藏掉了,但并没有真正在数据库里面删除掉,是这意思吧。
小炎博客来访,你博客人气还不错啊,看好你
仅仅给隐藏掉了,但还是占用数据库的资源,垃圾信息越来越多。
原来 distinct 是去除重复数据的呀。
想学,但看不懂,还是要基础学起