distinct 用法】的更多相关文章

转一个distinct用法,很有帮助 (2011-12-01 15:18:11) 转载▼ 标签: 杂谈 分类: mysql复制 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久. 下面先来看看例子: table id name   1 a   2 b  …
本事例实验用表task,结构如下 MySQL> desc task; +-------------+------------+------+-----+-------------------+-------+ | Field       | Type       | Null | Key | Default           | Extra | +-------------+------------+------+-----+-------------------+-------+ | PLA…
1. 去重:关键字distinct去重功能  在其他数据库(oracle,mysql)是存在:当然postgresql也有这个功能 [postgres@sdserver40_210 ~]$ psql mydb lottu psql () Type "help" for help. mydb=> select * from trade; tradeno | accountid | fee | game_id ---------+------------+-----+--------…
distinct可以列出不重复的记录,对于单个字段来说distinct使用比较简单,但是对于多个字段来说,distinct使用起来会使人发狂.而且貌似也没有见到微软对distinct使用多字段的任何说明.下面就提供了一种方法可以在使用distinct的时候同时使用多个字段. select 要使用字段1,要使用字段2 from 表名 where id in (select min(id) from 表名 group by 不重复字段名) 例:   select byid,id from bbs w…
在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 示例1 select distinct name from A 执行后结果如下: 示例2 select distinct name, id from A 执行后结果如下: 实际上是根据“name+id”来去重 示例3:统计 select count(distinct name) from A; --表中name去重后的数目, SQL Serve…
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的. 下面先来看看例子: table    id name    1 a    2 b…
dst = distinct data:   DISTINCT只能对整个记录(整行)去重,不能在字段级别去重.   触发reduce阶段   data = load 'data'; distinct data;  …
在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段,例如有如下表user: 用distinct来返回不重复的用户名:select distinct name from user;,结果为: 这样只把不重复的用户名查询出来了,但是用户的id,并没有被查询出来:…
参考 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 执行后结果如下: 实际上是根据name和id两个字段来…
现在以下数据 查有出现的TeacherId SELECT TeacherID FROM Student 结果 有重复的ID出现 确实查法: SELECT TeacherID FROM Student GROUP BY TeacherID SELECT DISTINCT TeacherID FROM Student 结果: 可以看得出  DISTINCT 的作用就是去重 DISTINCT 还可以跟聚合函数使用: --两种查法得出的结果一样 都是统计有多少个不同的老师 SELECT COUNT( D…
在写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…
oracle distinct 是所有字段都相同才显示一条,要做到根据某一列,则如下 select t1.* from table t1 where t1.rowid = (select min(t2.rowid) from table t2 where t1.c= t2.c)…
在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段,例如有如下表user: 用distinct来返回不重复的用户名:select distinct name from user;,结果为: 这样只把不重复的用户名查询出来了,但是用户的id,并没有被查询出来:…
本事例实验用表task,结构如下 MySQL> desc task; +-------------+------------+------+-----+-------------------+-------+ | Field       | Type       | Null | Key | Default           | Extra | +-------------+------------+------+-----+-------------------+-------+ | PLA…
1.  Distinct 位置 单独的distinct只能放在开头,否则报错,语法错误 例:SELECT Sid,DISTINCT(Sscore) score from t_student; [SQL]SELECT Sid,DISTINCT(Sscore) score from t_student;[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL s…
0.distinct用法 在oracle中distinct的使用主要是在查询中去除重复出现的数据 直接在字段前加distinct关键字即可,如:select distinct 名字 from table distinct关键字也可以同时为多个字段进行去重, 如:select distinct 名字,性别  from table distinct关键字只能使用在查询语句的开头,而且只写一个就可以.如果写在其它位置就会报错误,如: distinct经常会和count函数一起使用,用来统计不重复的数据…
一.distinct简介 distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的. 下面先来看看例子: table表 字段1     字段2   id        name   1           a   2           b   3           c   4           c   5 …
一.distinct,group by与ROW_Number()窗口函数使用方法 1. Distinct用法:对select 后面所有字段去重,并不能只对一列去重. (1)当distinct应用到多个字段的时候,distinct必须放在开头,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段,而且distinct只能放到所有字段的前面 (2)distinct对NULL是不进行过滤的,即返回的结果中是包含NULL值的 (3)聚合函数中的DISTINCT,如 COUNT( ) 会过滤掉为NU…
废话不多说,直接上代码,代码有注释!自行运行测试! class Program { static void Main(string[] args) { string[] names = { "郭靖", "李莫愁", "欧阳晓晓", "黄蓉", "黄药师", "郭靖", "黄蓉" }; //Take()方法:用于从一个序列的开头返回指定数量的元素. Console.Wr…
1.Distinct 位置 单独的distinct只能放在开头,否则报错,语法错误,与其他函数使用时候,没有位置限制如下 Select player_id,count(distinct(task_id))from task; 这种情况下是正确的,可以使用. 2.Distinct用法 a.在count计算不重复的记录的时候能用到比如SELECT COUNT( DISTINCT player_id ) FROM task;就是计算talbebname表中id不同的记录有多少条 b,在需要返回记录不同…