--标准函数Lpad 可以实现左补零,但是如果多于需要长度,则会截断字符串
SELECT LPAD ('1' , 3 , '0') FROM DUAL -- return 001

情况一:需要补零。   
    SELECT LPAD ('1' , 3 , '0') FROM DUAL
    结果:001   正确 
情况二:不需要补零。
    SELECT LPAD ('001' , 3 , '0') FROM DUAL
    结果:001   错误

  1. select
  2. to_char(wmsys.wm_concat(
  3. queuesign
  4. ||(select LPAD(sortno,3,0)from dual)
  5. ||'('||
  6. patname||')'
  7. )) as WaitPatients
  8. from
  9. (--查询分组数据的前 3 条数据
  10. SELECT *
  11. FROM (SELECT ROW_NUMBER() OVER(PARTITION BY cc.queuename ORDER BY cc.enroldate) rn,
  12. cc.*
  13. FROM
  14. ( --查询已登记数据,根据队列、登记日期、状态排序--结束至bb
  15. select * from
  16. (select a.patname,a.queuesign,a.queuename,a.sortno,a.enroldate,a.status
  17. from qs_register a where a.status='已登记'
  18. group by a.patname,a.queuesign,a.queuename,a.sortno,a.enroldate,a.status
  19. order by a.queuename,a.enroldate,a.status
  20. ) bb
  21. )cc ) WHERE rn in(1,2,3)
  22. ) b
  23. group by queuename

实例二

  1. create or replace view VIEW_GETCALLANDWAITPATIENT as
  2. select *
  3. --ok.queuename,ok.patname,ok.queuesign,ok.sortno,ok.enroldate,ok.status,ok.checkroom,ok.areapart,ok.ofdepart,ok.WaitPatients
  4. from
  5. (
  6. SELECT ROW_NUMBER() OVER(PARTITION BY ok.queuename ORDER BY ok.enroldate) ook,
  7. ok.*
  8. from (select * from
  9. (
  10. SELECT *
  11. FROM (
  12. SELECT ROW_NUMBER() OVER(PARTITION BY cc.queuename ORDER BY cc.enroldate) rn,
  13. cc.*
  14. FROM
  15. (select * from
  16. (select a.patname,a.queuesign,a.queuename,a.sortno,a.status,a.checkroom,a.areapart,a.enroldate,a.ofdepart
  17. from qs_register a where a.status='就诊中'
  18. group by a.patname,a.queuesign,a.queuename,a.sortno,a.status,a.checkroom,a.areapart,a.enroldate,a.ofdepart
  19. order by a.queuename,a.status,a.enroldate) bb)cc
  20. )
  21. WHERE rn = 1
  22. ) mm,
  23.  
  24. --查询已登记每组前3条数据并合并为(1003(张三丰),1003(张三丰),1003(张三丰))
  25. (select
  26. to_char(wmsys.wm_concat(
  27. queuesign
  28. ||(select LPAD(sortno,3,0)from dual)
  29. ||'('||
  30. patname||')'
  31. )) as WaitPatients
  32. from
  33. (--查询分组数据的前 3 条数据
  34. SELECT *
  35. FROM (SELECT ROW_NUMBER() OVER(PARTITION BY cc.queuename ORDER BY cc.enroldate) rn,
  36. cc.*
  37. FROM
  38. ( --查询已登记数据,根据队列、登记日期、状态排序--结束至bb
  39. select * from
  40. (select a.patname,a.queuesign,a.queuename,a.sortno,a.enroldate,a.status,a.ofdepart
  41. from qs_register a where a.status='已登记'
  42. group by a.patname,a.queuesign,a.queuename,a.sortno,a.enroldate,a.status,a.ofdepart
  43. order by a.queuename,a.enroldate,a.status,a.ofdepart
  44. ) bb
  45. )cc ) WHERE rn in(1,2,3)
  46. ) b
  47. group by queuename
  48. )nn) ok )
  49. WHERE ook = 1
  50.  
  51. --group by ok.queuename,ok.patname,ok.queuesign,ok.sortno,ok.enroldate,ok.status,ok.checkroom,ok.areapart,ok.ofdepart,ok.WaitPatients

oracle--合并行数据(拼接字符串),获取查询数据的前3条数据...的更多相关文章

  1. SQL分组查询每组前几条数据

    /*第一种实现方法,效率低并且有错误*/ DECLARE @DD DATETIME SET @DD = GETDATE() SELECT a.GoodsID , a.Account , a.LastU ...

  2. SQL SERVER 查询特定的前几条数据

    1. 使用MS SQL Server 2008: 2. 数据库内容如下: insert into xuexi1 values('张三0', '数学', 98 ) insert into xuexi1 ...

  3. sqlserver获取当前id的前一条数据和后一条数据

    一.条件字段为数值的情况   select * from tb where id=@id; --当前记录   select top 1 * from tb where id>@id order  ...

  4. sql面试 查找每个班级的前5名学生(取分类数据的前几条数据)

    关键字PARTITION BY 自己看代码喽~ SELECT * FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY ClassType ORDER BY Sc ...

  5. Oracle数据库实现获取前几条数据的方法

    如何在Oracle数据库中实现获取前几条数据的方法呢?就是类似SQL语句中的SELECT TOP N的方法.本文将告诉您答案,举例说明了哟!   1.在Oracle中实现SELECT TOP N : ...

  6. 不同数据库,查询前n条数据的SQL语句

    不同的数据库,支持的SQL语法略有不同,以下是不同数据库查询前n条数据的SQl语句 SQL Server(MSSQL) SELECT TOP n * FROM table_name ORACLE SE ...

  7. oracle和sql server中,取前10条数据语法的区别

    在sql server中,取数据中前10条语句,我们可以用top 10 这样语句,但是oracle就没有这个函数,接下来介绍它们之间的区别 1.sql server 取前10语句和随机10条的语法 - ...

  8. SQL Server 获取满足条件的每个条件下的前N条数据

    从数据库获取数据时,经常会遇到获取一个数据列表和该列表中每条数据对应的另一个列表的情况,如果二级列表获取的是全部数据,那么就比较简单.如果二级列表获取的是前n条数据,就会比较麻烦. 从操作上来看,好像 ...

  9. DataTable相关操作,筛选,取前N条数据,获取指定列数据

    DataTable相关操作,筛选,取前N条数据,获取指定列数据2013-03-12 14:50 by Miracle520, 2667 阅读, 0 评论, 收藏, 编辑 1 #region DataT ...

随机推荐

  1. 2017-2018-2 20165228 实验三《敏捷开发与XP实践》实验报告

    2017-2018-2 20165228 实验三<敏捷开发与XP实践>实验报告 相关知识点 (一)敏捷开发与XP 通过 XP准则来表达: 沟通 :XP认为项目成员之间的沟通是项目成功的关键 ...

  2. HTTP基本原理(转)

    1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少. ...

  3. TJU Problem 2101 Bullseye

    注意代码中: result1 << " to " << result2 << ", PLAYER 1 WINS."<& ...

  4. Gym-101653:acific Northwest Regional Contest (2019训练第一场)

    本套题没有什么数据结构题,图论题,唯一有价值的就是Q题博弈,在最后面,读者可以直接拉到最下面. (还剩下两个,估计每什么价值的题,懒得补了 M .Polyhedra pro:欧拉公式,V-E+F=2: ...

  5. P2261 [CQOI2007]余数求和 (数论)

    题目链接:传送门 题目: 题目背景 数学题,无背景 题目描述 给出正整数n和k,计算G(n, k)=k mod + k mod + k mod + … + k mod n的值,其中k mod i表示k ...

  6. 微信导出群记录V3.0

    一.序 导出东北师范大学2017级软件工程微信群的聊天记录,形式不限,但需要包含文字.图片和链接,不允许截图. 聊天记录的时间段为2017年11月3日12:00起至2018年1月3日12:00. 二. ...

  7. Visual Studio 2019 RC

    Visual Studio 2019 RC入门 介绍 在本文中,让我们看看如何开始使用Visual Studio 2019 RC.Microsoft现已发布Visual Studio Release ...

  8. 《DSP using MATLAB》Problem 5.7

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  9. LeetCode - Trim a Binary Search Tree

    Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that a ...

  10. eclipse操作(备忘)

    myecplise破解   https://blog.csdn.net/by_xiaobai007/article/details/81177367 1.查看类路径 2.建立模板 window--pr ...