www.qnmk.net > orAClE 取出某一字段所有不重复记录

orAClE 取出某一字段所有不重复记录

取某一字段不重复记录可用distinct或者group by来实现。 如,emp表中有如下数据: 要求取出deptno字段所有的不重复记录,可分别用以下两个语句: 1、 select distinct deptno from emp;2、 select deptno from emp group by deptno;结果如下:

可用distinct或者group by来实现。 如数据如下: 要让ID字段查询后不重复,可用distinct语句 select distinct id from test;结果: 也可用group by语句: select id from test group by id;结果:

select a, wmsys.wm_concat(b) from atest t group by a结果: a 1,2,1 b 1,3,2 select a, wmsys.wm_concat(b) from (select distinct a, b from atest) t group by a结果: a 2,1 b 3,2,1

那就用distinct函数,只取出重复的唯一记录就可以了。 sql:select distinct(* ) from tablename ; 备注:通常没有这么用的,因为一般表都有主键,或者时间字段,不会出现重复,所以一般针对某个特定字段distinct意义更大些。 sql:select distin...

select * from A, (select max(id) id_m, 某个字段 from A group by 某个字段) B where A.id = B.id_m

oracle中在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较"高效"的,如下语句: SELECT data_guid FROM adam_entity_datas a WHERE a.rowid > (SELECT MIN(b.rowid) FROM adam_entity_datas b WHERE b.data_guid = a.data...

CREATE TABLE #test ( ID int, name varchar(10), age int);go-- 用于测试 楼主的原始数据.INSERT INTO #testSELECT 1, 'tom', 22 UNION ALLSELECT 2, 'tom', 23 UNION ALLSELECT 3, 'tom', 24 UNION ALLSELECT 4, 'lily', 22 UNION ALLSELECT 5...

问题是你其它字段不重复,同一个name,其实有多条数据,你按什么逻辑取数据,那些不同的字段怎么筛眩 如果随便取一条的话, select * from table where name='' where rownum=1;就返回一条

SELECT * FROM (SELECT T2.*, ROW_NUMBER() OVER(PARTITION BY MAE_NAME ORDER BY TIME_STAMP_END DESC) AS RN2 FROM (SELECT T1.*, ROW_NUMBER() OVER(PARTITION BY MAE_NAME, PRODUCT, OP, VERSION ORDER BY TIME_STAMP_END DESC) AS RN1 FROM...

用如下语句,查出符合条件的数据后,只取第一行: select * from table_name where 条件1 and 条件2 and rownum=1;

网站地图

All rights reserved Powered by www.qnmk.net

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