精华内容
下载资源
问答
  • 2021-05-01 09:36:07

    对多数据进行分组排序后取每组第一条记录

    SELECT *

    FROM (SELECT ROW_NUMBER() OVER(PARTITION BY ORDER BY DESC) LEV,

    .*

    FROM )

    WHERE LEV = 1

    ORDER BY DESC

    -- 分组列

    -- 排序列

    -- 表名

    -- 排序列

    注:.* -- 一定要有表名,否则会报“缺失表达式”错误

    ==========================================================

    分组时不仅想取每组的第一条记录,还想取每组共有几条记录

    SELECT *

    FROM (

    SELECT ROW_NUMBER() OVER(PARTITION BY PK_FINANCE_ACCOUNT ORDER BY amassdate DESC) LEV,

    count(0) over(partition by PK_FINANCE_ACCOUNT) cnt,

    hx_amass_liquid.*

    FROM

    hx_amass_liquid

    )

    WHERE LEV = 1

    ORDER BY PK_FINANCE_ACCOUNT DESC

    更多相关内容
  • 主要介绍了Oracle结合Mybatis实现表TOP 10条数据的相关资料,需要的朋友可以参考下
  • oracle 获取第一条数据

    千次阅读 2021-05-03 02:21:54
    关于取第一条数据的sql特此作了一个例子如下:http://www.360doc.com/showweb/0/0/860281883.aspxSELECT*FROMtableNamewherefd_rt='A'--andrownum=1ORDERBYfd_dateDESC正常说 第一条数据应为 16bf4eb91606de5e0ff61f...

    关于取第一条数据的sql特此作了一个例子如下:

    http://www.360doc.com/showweb/0/0/860281883.aspxSELECT * FROM tableName where fd_rt = 'A' --and rownum=1 ORDER BY fd_date DESC

    72532f1bc6d5b6d7b2f2167a595e4d80.png

    正常说 第一条数据应为  16bf4eb91606de5e0ff61f94d0f8f20f

    在where 后 直接跟条件 使用此sql时结果如下

    SELECT * FROM tableName where fd_rt = 'A'

    and rownum=1

    ORDER BY fd_date DESC

    f93e13f9ddcd0d0ac879a5737772b3df.png

    可是查询结果为 第二条数据

    郑州不孕不育医院:http://www.xbzztj.com/

    正确使用方式为:SELECT t.* from(SELECT * FROM tableName where fd_rt = 'A' ORDER BY fd_date DESC) t WHERE rownum = 1

    b0630446a4c38f342e951cfc2e997033.png

    rownum作为伪列实际上查询结果为:SELECT tableName .*,rownum FROM tableName where fd_rt = 'A' --and rownum=1 ORDER BY fd_date DESC

    8ae33f054be7e5ba89ecbd9bc16e3754.pngSELECT t.*,rownum from(SELECT * FROM tableName where fd_rt = 'A' ORDER BY fd_date DESC) t

    d139883c7d2a917ae439e9fa877f2a0a.png

    展开全文
  • Oracle排序取第一条数据

    千次阅读 2021-05-01 04:58:31
    Oracle需要更新套组的大单位, 规则是取第一个学员(套组ID最小)的单位...采用按照SUITEID排序取第一条方法。UPDATE sim_big_suite u SET u.org_code = (SELECT SUBSTR(x.pilot_unit,1,4) FROM(SELECT n.* FROM sim_...

    Oracle需要更新套组的大单位, 规则是取第一个学员(套组ID最小)的单位信息。

    Oracle需要更新套组的大单位, 规则是取第一个学员(套组ID最小)的单位信息。

    采用按照SUITEID排序取第一条方法。

    UPDATE sim_big_suite u SET u.org_code = (

    SELECT SUBSTR(x.pilot_unit,1,4) FROM(

    SELECT n.* FROM sim_student_assign n WHERE

    n.big_suite_no = 192 AND

    --u.big_suite_no = n.big_suite_no AND

    n.ac_type_code = 14

    AND n.fixed_year = '2013上半年' AND n.train_com = 1001 AND n.position = 'L'

    ORDER BY n.suite_id

    )x WHERE ROWNUM = 1

    )WHERE u.ac_type_code = 14 AND u.fixed_year = '2013上半年' AND u.train_com = 1001;

    logo.gif, 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

    展开全文
  • 本文给大家收集整理些关于sql获取第一条记录的方法,包括sqlserver获取第一条记录,oracle获取第一条记录,mysql获取第一条记录,对sql获取第一条记录的方法感兴趣的朋友可以参考下本
  • 根据name分组根据,根据age排序,取第一条数据 SELECT * FROM (SELECT p.*, row_number() over(PARTITION BY NAME ORDER BY age DESC ) rnk FROM person p)AS a WHERE rnk =1 AND a.name IN ('张三','鸡哥') ...

    根据name分组根据,根据age排序,取第一条数据

    SELECT * FROM 
    (SELECT p.*,
      row_number() over(PARTITION BY NAME
    		ORDER BY age DESC ) rnk
      FROM person p)AS a
      WHERE rnk =1 AND a.name IN ('张三','鸡哥')
    
    SELECT a.name,MIN(a.age) FROM 
    (SELECT p.`name`,p.`age` FROM person p ORDER BY p.`age` DESC) AS a 
    WHERE a.name IN ('张三','鸡哥')
    GROUP BY a.name
    
    
    

    源表数据
    在这里插入图片描述
    最终结果
    在这里插入图片描述

    展开全文
  • 最近项目中的一条sql语句涉及到取一个表中相同工单编码中最新的一条数据,在网上看到函数完美解决此问题,如下是内容要点:问题:在项目中有一张设备检测信息表DEVICE_INFO_TBL, 每个设备每天都会产生一条检测信息...
  • oracle分组后每组第一条数据

    千次阅读 2021-05-04 01:00:08
    oracle 分组后取每组第一条数据数据格式 分组取第一条的效果 sql SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, test ...MSSQL 分组后取每组第一(group by order by)查询中经常...
  • oracle 数据库按照日期排序取第一条数据 select * from (select * from TABLE where STATUS= 3 order by TIME desc) where rownum=1;
  • 目录一、小案例:school表中有①id 序号②class 班级 ③score成绩 三个字段, 使用oracle实现按照班级分区,然后班级中的第一名。1.1测试数据如下:--创建学校表schoolcreate table school(id varchar2(10) ...
  • oracle数据库排序后获取第一条数据

    千次阅读 2020-10-10 10:44:11
    想要获取下列sql的数据第一条 select NEXT_FOLLOWUP_DATE from PH_CHILD_HEALTH_EXAM where person_info_id = '3afc119ab460497d85f59b1e135ea6b1' order by followup_Visit_Date desc 实现: select NEXT_...
  • oracle 根据某个字段获取第一条数据 根据分组获取排序的第一条数据 select * from ( SELECT ROW_NUMBER()over(PARTITION by 分组字段 ORDER BY 排序字段 desc) as ro, xxx需要查询的字段 from 表名 ) dual where ...
  • Oracle 查询出来的数据取第一条

    万次阅读 2017-07-10 17:14:47
    select * from (select * from order by ) where rownum=1; select * from (select * from order by desc) where rownum=1;
  • 电表,大家都知道电表读数并不是真正的耗电量,真正耗电量=此次读数-上次读数 电表设计如下: SQL语句如下,使用Oracle的FIRST_VALUE()和LAST_VALUE()函数实现: SELECT DISTINCT LAST_VALUE (E_VALUE) ...
  • select * from ( select t., row_number() over (partition by user_sid order by sid desc) rn ,count() over ...where user_sid in (select sid from sys_user where user_state = ‘LOCKED’) ) where rn=1
  • oracle和mysql分组排序取第一条数据

    千次阅读 2018-12-28 13:34:38
    查每个人的Orderstr 是1数据,并保证name不重复 oracle select *  from (SELECT a.*, row_number() over(partition by ida order by orderstr) rn  FROM (select orderstr, name, ida from test) a ) where.....
  • Oracle中查询第一条和最后一条数据

    万次阅读 2019-06-14 11:58:48
    1.Oracle中查询数据库表的第一条数据 SELECT * FROM (SELECT * FROM "user" ORDER BY "id") WHERE ROWNUM = 1 2.Oracle中查询数据库表的最后一条数据 SELECT * FROM (SELECT * FROM "user" ORDER BY "id" DESC)...
  • oracle 取第一条数据

    千次阅读 2013-09-06 17:45:27
    /* 分组排序取第一条数据*/ SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY taskbreakid ORDER BY responsedate DESC) LEV, r.*  -- select r.*   FROM tablename r   WHERE...
  • Oracle 11g 单实例安装文档这里介绍在Red Hat Enterprise Linux ...次千万级别的SQL查询简单优化体验背景:从两张有关联的表查询数据,A表数据量1400万,B表数据量8000万.A与B通过ID逻辑关联,没有实际的外键.B表...
  • 需求:先分组,再按时间排序,最后分组第一条 利用oracle的开窗函数可以实现 以下是模板sql ,自行替换 select t.* from (select a.*, row_number() over(partition by 需要分组的字段 order by 更新时间 ...
  • 最近有个有个业务需求(springboot项目集合mybatis):需要查询分组后,每组的第一条数据oracle数据库),可以在业务代码中实现,但是过于繁琐,后来查阅oracle的函数,得出仅仅在sql中即可实现,非常简洁,简化...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 111,966
精华内容 44,786
关键字:

oracle取第一条数据