Oracle表中重复记录只显示一条
来源:互联网 发布:c语言1到n求和 编辑:程序博客网 时间:2024/04/26 21:30
1.Oracle某个表中有重复记录,想重复记录只显示一条。
表中内容如下:
ID Name score
1 zs40.001zs40.001zs40.002ls80.002ls80.003ww90.003ww90.004zl100.00用rowid写个最容易懂的:
select * from t_temp where rowid in(
select max(rowid) from t_temp group by id)
order by id;
显示结果:
ID Name score
1zs40.002ls80.003ww90.004zl100.00最好是这么写,显示结果是一样的,效率要高很多:
with x as (
select max(rowid) r from t_temp group by id)
select t.id,t.name,t.score from t_temp t,x
where t.rowid = x.r
order by t.id;
2. 查询表中的重复记录。
select * from t_temp t,(select id from t_temp group by id having count(1)>1) x
where t.id=x.id
order by t.id
显示结果:
ID Name score
1 zs40.001zs40.001zs40.002ls80.002ls80.003ww90.003ww90.003. 有另外一张表:t_temp2
ID ClassNM
1class12class23class34class4这里的ID跟上张表的ID是一个概念。
现在要求查询出第二张表中所有的人,按照第一张表的重复出现条数进行排序显示(也就是要看每个人都重复了几次,都是哪个班的)。显示结果如下。
ID ClassNM NUM
1class132class123class224class41SQL语语如下哦。
with x as(select count(id) num, id from t_temp group by id)
select t2.id,t2.classnm,x.num from t_temp2 t2,x
where t2.id=x.id
order by x.num desc,id asc
好记忆赶不上滥笔头,真是的。
- Oracle表中重复记录只显示一条
- 关于SQL中查询重复字段只显示一条记录
- oracle 删除重复记录 只保留一条
- 删除表中重复的记录,只保留一条
- 删除表中重复记录 只留一条即可
- 在Oracle中删除某张表的重复记录,只保留最新一条记录
- oracle sql 重复记录 只显示一条 ,显示 时间最近 或id 最大,同时显示其他列
- sql 实现记录有重复只显示一条。
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- sql 删除表中多余的重复记录(多个字段),只保留一条记录
- 通用基于TCP协议的C/S模型的代码
- ModelSim PE Student Edition 10.1b 的安装和使用
- Andriod OpenGL 教程 05 - 3D空间
- TextField输入完成后关闭键盘
- XCode编译器技巧
- Oracle表中重复记录只显示一条
- Struts2的OGNL表达式对编辑器输入的内容不进行转义
- JNI学习笔记(二)JNI中的java语言与本地C/C++语言之间的映射(附例子)
- 正则表达式学习(三)正则表达式各种操作符的运算优先级
- 仿android系统主界面 下方的小按钮滑动
- 读书笔记整理二:11g存储增强
- Oracle AWR(Automatic Workload Repository) 说明 --转自tianlesoftware
- poj 3974 Palindrome
- [java]java中的访问权限