今天朋友问了一个特别纠结的问题:

在数据库的一张表里面对根据表中的某一字段进行去重复并对剩下的数据根据另外一个字段排序,

创建表如下:

create table TEST_DISTINCT(

ID integer not null,

NAME varchar(20) not null

);

insert into TEST_DISTINCT values(0,'aa');

insert into TEST_DISTINCT values(1,'bb');

insert into TEST_DISTINCT values(2,'cc');

insert into TEST_DISTINCT values(3,'dd');

insert into TEST_DISTINCT values(4,'ee');

insert into TEST_DISTINCT values(5,'aa');

insert into TEST_DISTINCT values(6,'cc');

一看到去重复就想到了 DISTINCT 关键字:

select distinct name from test_distinct;

可惜却无法和字段id关联,于是度娘看见最火的一种写法:

select *, count(distinct name) from table group by name;

select *,count(distinct ename) from emp group by name;

可惜运行直接报错,于是改成了:

select job,ename,count(distinct ename) from emp group by job,ename;

报错是没了,但是还是没效果,后来研究了个把小时还是无法解决,不知道是不是因为版本原因,总之感觉度娘还是不靠谱!

后来还是找到了解决方法:

两行数据要去掉一个,是应该去掉第一行还是第二行这种情况像电脑这种啥东西肯定不会选择的,于是得用户自己选择

我的方法是:

select max(id) as mt,name from (select * from test_distinct where id > 2) group by name order by mt asc;

如果还有其他字段:

select * from emp where emp.mgr in (

select mm from (

select max(mgr) as mm,ename from (select * from emp where empno > 7521) group by ename order by mm asc

)

nn);

当解决后才发现是如此简单,看见去重走向了distinct的误区了,

另外发这种文章得有品,不能随便发点错的误人子弟啊!

oracle排序去重,Oracle中去重复+排序相关推荐

  1. jquery中去重复排序(函数: $.grep() join() sort() )

    1.首先把字符串分割为数组(中文除外) var str = '12345678543';var array = str.split ("");//分割为数组console.log ...

  2. C语言从已排序的链表中删除重复项(附完整源码)

    C语言从已排序的链表中删除重复项 C语言从已排序的链表中删除重复项完整源码(定义,实现,main函数测试) C语言从已排序的链表中删除重复项完整源码(定义,实现,main函数测试) #include ...

  3. python列表中字典排序_python中字典排序,列表中的字典排序

    python中字典排序,列表中的字典排序 一.使用python模块:operator import operator #首先要导入模块operator x = {1:2, 3:4, 4:3, 2:1, ...

  4. Oracle中去重复记录 不用distinct

    用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外distinct关键字会排序,效率很低 . select distinct name fro ...

  5. oracle不要重复记录,Oracle中去重复记录 不用distinct

    用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外distinct关键字会排序,效率很低 . select distinct name fro ...

  6. python去重复排序_Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...

  7. 编写代码,移除未排序的链表中的重复节点

    2019独角兽企业重金招聘Python工程师标准>>> 解法一:如果不得使用临时缓冲区,该怎么解决? 要想移除链表中的重复节点,我们需要设法记录有哪些是重复的.这里只需要使用到一个简 ...

  8. mysql 中文字符排序规则_mysql中字符集和排序规则说明

    数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set),每种字符集也有各自的排序规则(Collation). 一.字符集 字符集,即用于定义字符在数据库中的编码的集合. 常见 ...

  9. mysql 关闭in自动排序,mysql排序语句_mysql中的in排序 mysql按in中顺序来排序

    摘要 腾兴网为您分享:mysql中的in排序 mysql按in中顺序来排序,易订货,虚拟按键,享家,顺丰小哥等软件知识,以及方正证券小方,音基100,dwg转dwf,酷狗游戏盒,聊天宝客服聊天,kin ...

  10. [Leetcode] Remove duplicates from sorted array ii 从已排序的数组中删除重复元素

    Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For examp ...

最新文章

  1. 入门4:PHP 语法基础1
  2. 【Python】Pandas基础:结构化数据处理
  3. ubuntu服务器php7.2启用mysqli(不用reboot超简单)
  4. Git手册 - 分支远程同步
  5. 关于css 的AST 语法树的理解
  6. 三张图搞懂JavaScript的原型对象与原型链
  7. CSAPP:第八章 异常控制流1
  8. QTWebkit中的webkit/qt/api文档
  9. java putall实现,Java JsonObject.putAll方法代码示例
  10. ubuntu如何查看网卡名称_ubuntu更改网卡设备名称
  11. 卑微测试员自述:入职新公司一个月,就让我做自动化测试?!
  12. 模糊pid控制算法matlab程序解读,基于Matlab的模糊PID控制研究
  13. BT1120,模拟视频输入输出格式
  14. Linux串口调试工具,可视化界面
  15. 谈如何整定PID参数
  16. 使用sklearn处理经纬度的三种距离计算与地图可视化
  17. 七夕撒狗粮,结婚五周年
  18. java毕业设计基于的高校教室申请管理系统mybatis+源码+调试部署+系统+数据库+lw
  19. 一张图架构示意图及简单分析
  20. jmeter性能测试步骤入门

热门文章

  1. 因为分区表已变,使用再生龙恢复ubuntu系统后无法休眠的解决办法
  2. TFS Two Build Definations Share the Same Code Branch
  3. CentOS 6.2 mini安装桌面环境
  4. IEEE 你吃透了吗?
  5. 浅析总结 Java 内部类的一些使用与梳理
  6. ES6、7学习笔记(尚硅谷)-6-形参默认值的设置
  7. python怎么画小海龟_python画图之“小海龟”turtle
  8. python接口测试jason_Python接口测试框架实例
  9. 利用代码分别实现jdk动态代理和cglib动态代理_设计模式篇——代理模式详解(面试官再问你代理模式,这么回答他!)...
  10. c语言编程流水灯与交通灯实验,51单片机c语言交灯设计报告.doc