distinct的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了distinct的使用相关的知识,希望对你有一定的参考价值。
表的结构就是这!我想得道的结果是按照id倒叙排列,并且把biaoqian字段的重复值去掉 最后把id newsid biaoqian全部显示出来。高手出来帮下忙吧!着急用啊!
哥们,如果说是你想去掉biaoqian中的重复的,那你想保留哪个结果呀?我的意思是比如说sdaf,你是想保留id为329的呢还是330的呀?
哪个都可以!
不过这个值出现多少次只显示一次。
select distinct 字段名1,字段名2 from 表格 order by 字段名1
distinct 字段名1 意思是只显示一次字段名1显示的是第一次出现的。
最好和order by 结合使用。可以提高效率。 参考技术A 不用使用去重distinct...
select T.id,A.newsid,T.biaoqian from tablename A,(select MAX(id) as id,biaoqian from tablename group by biaoqian) T where A.id=T.id order by T.id desc 参考技术B select id,newsid,distinct biaoqian
from T
order by id desc 参考技术C 哥们,如果说是你想去掉biaoqian中的重复的,那你想保留哪个结果呀?我的意思是比如说sdaf,你是想保留id为329的呢还是330的呀? 参考技术D 就是啊?
你想去掉重复中的哪个啊?
是ID小的还是什么? 第5个回答 2009-07-10 select a.id,a.newsid,a.biaoqing from 表名 a,
(select min(id) id,biaoqing from 表名 group by biaoqing) b
where a.id=b.id
and a.biaoqing=b.biaoqing
order by a.id desc
mysql中去重 distinct 用法
distinct的使用语法是这样的:
select distinct expression[,expression...] from tables [where conditions];
在使用distinct的过程中主要注意一下几点:
- 在对字段进行去重的时候,要保证distinct在所有字段的最前面
- 如果distinct关键字后面有多个字段时,则会对多个字段进行组合去重,只有多个字段组合起来的值是相等的才会被去重
下面我们通过在开发过程中经常遇到的一些关于distinct的实例来加深大家对该关键字用法的理解:
数据库表结构和数据如下图所示:
- 对单个字段进行去重sql:
select distinct age from user;
查询结果
age
10
20
30
- 对多个字段进行去重sql:
select distinct name,age from user; 查询结果 name age One 10 Zero 20 Two 20 Four 30 One 30
- 对多个字段进行去重并求count的sql(实际中我们往往用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段):
select count(distinct name,age) as total from user; 查询结果 total 5
- 对select * 进行去重
select distinct * from user; 由于 * 代表所有字段,所以该sql和 select distinct id,name,age,sign from user 语义相同 查询结果: id name age sign 1 One 10 梦想要有的,万一实现了呢 2 Zero 20 http://www.chaoshizhushou.com 3 Two 20 OneZeroTwoFour 4 Four 30 加油 5 One 30 学习才是硬道理 6 Four 30 一日三省吾身
如果sql这样写:select id,distinct name from user,这样mysql会报错,因为distinct必须放在要查询字段的开头。
所以一般distinct用来查询不重复记录的条数。
如果要查询不重复的记录,有时候可以用group by :
select id,name from user group by name;
以上是关于distinct的使用的主要内容,如果未能解决你的问题,请参考以下文章
Criteria.DISTINCT_ROOT_ENTITY 与 Projections.distinct