www.1862.net > mysql的DistinCt

mysql的DistinCt

DISTINCT 用于返回唯一不同的值,去除重复的值.语法:SELECT DISTINCT 列名称 FROM 表名称

distinct 表示不显示重复的查询 假设你的字段中姓名是重复的那么 用法是 select distinct(NAME) from table1 WHERE SEX='男' 这样就不会把重复的人的信息查出来了

create temporary table 临时表名 select distinct * from 操作的表名; --去掉重复后复制到临时表 truncate table 操作的表名; --删除原表中所有记录 insert into 操作的表名 select * from 临时表名; --把临时表的内容导入原表 drop table 临时表名;

eASY!SELECT DISTINCT DATE_FORMAT(date,'%Y-%d') FROM XXX

DISTINCT操作只需要找出所有不同的值就可以了.而GROUP BY操作还要为其他聚集函数进行准备工作.从这一点上将,GROUP BY操作做的工作应该比DISTINCT所做的工作要多一些.除此之外,基本上看不到DISTINCT和GROUP BY(没有聚集函数的情况)有什么区别,而且从执行效率上也看不到明显的差异;

distinct这个关键字来过滤掉多余的重复记录只保留一条.

distinct就是去掉重复值的意思,比如你这里,DISTINCT(Sno)如果sno出现两次但是只显示一次,所以在做count的时候就不一样了.

这个不行,因为 (distinct 字段1,字段2,字段3) 只有(字段1,字段2,字段3)完全相同时才会只显示一个.如果要对(字段1 & 字段2) 同时distinct 只能select distinct 字段1,字段2 from table;

distinct只是将重复的行从结果中出去; group by是按指定的列分组,一般这时在select中会用到聚合函数.distinct是把不同的记录显示出来. group by是在查询时先把纪录按照类别分出来再查询.group by 必须在查询结果中包含一个聚集函数,而distinct不用.加了索引 distinct 比没加索引的 distinct 快了 107倍.加了索引 group by 比没加索引的 group by 快了 43倍.加不加索引 group by 都比 distinct 快.建议选 group by

1、select语句可以用回车分隔$sql="select * from article where id=1"和 $sql="select * from articlewhere id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时2、批量查询数据可以用in来实现$sql="

网站地图

All rights reserved Powered by www.1862.net

copyright ©right 2010-2021。
www.1862.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com