Heim > Datenbank > MySQL-Tutorial > sql distinct使用方法

sql distinct使用方法

WBOY
Freigeben: 2016-06-07 17:49:26
Original
4188 Leute haben es durchsucht

本文章来给各位朋友介绍distinct用法及distinct在使用过程中一些常用见问题总结,有需要了解distinct用法的朋友可参考参考。

 SQL SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。

语法:
SELECT DISTINCT 列名称 FROM 表名称

如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:

 代码如下 复制代码

SELECT DISTINCT Company FROM Orders


distinct 关键字失效的办法


用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外

distinct关键字会排序,效率很低。

distinct name from t1 能消除重复记录,但只能取一个字段,现在要同时取id,name这2个字段的值。
select distinct id,name from t1 可以取多个字段,但只能消除这2个字段值全部相同的记录
所以用distinct达不到想要的效果,用   可以解决这个问题。

例如要显示的字段为A、B、C三个,而A字段的内容不能重复可以用下面的语句:

 代码如下 复制代码
select A, min(B),min(C),count(*) from [table] where [条件] group by   A
having [条件] order by A desc

为了显示标题头好看点可以把select A, min(B),min(C),count(*) 换称select A as A, min(B) as B,min(C) as

C,count(*) as 重复次数

显示出来的字段和排序字段都要包括在group by 中
但显示出来的字段包有min,max,count,avg,sum等聚合函数时可以不在group by 中
如上句的min(B),min(C),count(*)
一般条件写在where 后面
有聚合函数的条件写在having 后面
如果在上句中having加 count(*)>1   就可以查出记录A的重复次数大于1的记录
如果在上句中having加 count(*)>2   就可以查出记录A的重复次数大于2的记录
如果在上句中having加 count(*)>=1   就可以查出所有的记录,但重复的只显示一条,并且后面有显示重复的次数-

---这就是所需要的结果,而且语句可以通过hibernate

下面语句可以查询出那些数据是重复的:
select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1

将上面的>号改为=号就可以查询出没有重复的数据了。

例如

 代码如下 复制代码

select count(*) from (select gcmc,gkrq,count(*) from gczbxx_zhao t group by gcmc,gkrq having

count(*)>=1 order by GKRQ)

推荐使用:

select * from gczbxx_zhao where viewid in ( select max(viewid) from gczbxx_zhao group by

gcmc ) order by gkrq desc

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage