需求:根据PID字段对数据去重,根据Sort字段排序,需要显示这个两个字段. 如图,这是原始数据,先排序: 排序后发现两个项是重复的,需要去除一个, 因为Distinct对检查Select里面的每一列,出现的每一列必须都相同才算重复数据,而排序后的数据里面相同Pid的数据的sort值不同,Distinct此时就失效了. 于是Select里面去掉sort,提示语法错误:如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中.语法问题,但是加上sort之…
1.需求场景: 需要把最新更新文章的前五名作者展示出来. 2.解决问题第一步: select top 5 creator from table order by updateDate desc 结果:显示五条记录,但是名字是重复的. 3.解决问题第二步: 加Distinct select distinct top 5 creator from table order by updateDate desc 结果:报错.如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就…
SQL中distinct的用法   1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 表B: 1.作用于单列 select distinct name from A 执行后结果如下: 2.作用于多列 示例2.1 select distinct name, id from A 执行后结果如下: 实际上…
SQL中distinct的用法   1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 表B: 1.作用于单列 select distinct name from A 执行后结果如下: 2.作用于多列 示例2.1 select distinct name, id from A 执行后结果如下: 实际上…
1 前言 在咱们编写 SQL 语句操作数据库中的数据的时候,有可能会遇到一些不太爽的问题,例如对于同一字段拥有相同名称的记录,我们只需要显示一条,但实际上数据库中可能含有多条拥有相同名称的记录,从而在检索的时候,显示多条记录,这就有违咱们的初衷啦!因此,为了避免这种情况的发生,咱们就需要进行“去重”处理啦,那么何为“去重”呢?说白了,就是对同一字段让拥有相同内容的记录只显示一条记录. 那么,如何实现“去重”的功能呢?对此,咱们有两种方式可以实现该功能. 第一种,在编写 select 语句的时候,…
在一个SQL中,如果同时使用rownum和order by,会有一个先后顺序的问题. 比如select id1,id2 from t_tablename where rownum<3 order by c_date desc ,这个语句会先从结果集中取前三条记录,再对这3天记录按日期排序.如果设计者向先对日期排序,再取前三天记录,那么就不会得到正确的结果. 所以rownum和order by一起使用的时候一定要注意的执行顺序的问题. 这句可以这样实现select id1,id2 from (se…
在写sql中去重复等操作,需要用到distinct. 在使用distinct的时候要注意,尤其是在有行列转换的时候.要把sql运行出来看看是不是与你想要的结果一样. 通过自己试验,distinct有从小到大排序的作用. create table ProvinceName(PID int,PName varchar(20)) insert into ProvinceNamevalues(1,'a') insert into ProvinceNamevalues(3,'b') insert into…
Distinct作用:消除重复的数值 1.如: select id from T1 select distinct id from T1 二者的检索效果如下: distinct可以用来修饰多列,如: select distinct id,name from T1 效果: 发现检索的结果自动按照id列进行排序,再比如: select distinct name,id from T1 发现的结果自动按照name列进行排序.也就是说在执行select语句时,总会对要被检索的列,进行默认的排序,如上例,…
在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 示例1 select distinct name from A 执行后结果如下: 示例2 select distinct name, id from A 执行后结果如下: 实际上是根据“name+id”来去重,distinct同时作用在了name和id上,这种方式Access和SQL Server同时支持. 示例3:统计 select coun…
原文:http://www.cnblogs.com/rainman/archive/2013/05/03/3058451.html 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 表B: 表newTest: -------------------------------------------------------- 1.作用于单列 SQL语句:select distinct name f…