Oracle分组查询

分组取最大值

select * from 表 where (序号,名称) in (select max(序号),名称 from 表 group by 名称)

select a.pk_frmins, a.port_id, to_char(wmsys.wm_concat(u.user_name))
  from wfm_task a, cp_user u
 where a.port_id in (select max(w.port_id)
                       from wfm_task w
                      where w.pk_frmins = a.pk_frmins
                        and w.state = 'State_End')
   and a.pk_frmins in (pks)
   and a.pk_owner = u.cuserid
 group by a.pk_frmins, a.port_id

注意:max的字段只能是number类型字段,如果是date类型的,会提示错误。date类型用上面的row_number()来做就可以了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 4,983评论 0 7
  • 幕课oracle学习笔记 --!!!scott用户 --一.分组查询 --1.常用的分组函数:AVG(平均数),S...
    xiaoxiao苏阅读 5,065评论 0 5
  • 只看不作阅读 812评论 0 0
  • 基础语法 1. python是一门弱类型的 [解释型的] 脚本语言 python代码是边解释边运行 2. pyth...
    零_WYF阅读 1,696评论 0 0