--标准函数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   错误

select
to_char(wmsys.wm_concat(
queuesign
||(select LPAD(sortno,3,0)from dual)
||'('||
patname||')'
)) as WaitPatients
from
(--查询分组数据的前 3 条数据
SELECT *
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY cc.queuename ORDER BY cc.enroldate) rn,
cc.*
FROM
( --查询已登记数据,根据队列、登记日期、状态排序--结束至bb
select * from
(select a.patname,a.queuesign,a.queuename,a.sortno,a.enroldate,a.status
from qs_register a where a.status='已登记'
group by a.patname,a.queuesign,a.queuename,a.sortno,a.enroldate,a.status
order by a.queuename,a.enroldate,a.status
) bb
)cc ) WHERE rn in(1,2,3)
) b
group by queuename

实例二

create or replace view VIEW_GETCALLANDWAITPATIENT as
select *
--ok.queuename,ok.patname,ok.queuesign,ok.sortno,ok.enroldate,ok.status,ok.checkroom,ok.areapart,ok.ofdepart,ok.WaitPatients
from
(
SELECT ROW_NUMBER() OVER(PARTITION BY ok.queuename ORDER BY ok.enroldate) ook,
ok.*
from (select * from
(
SELECT *
FROM (
SELECT ROW_NUMBER() OVER(PARTITION BY cc.queuename ORDER BY cc.enroldate) rn,
cc.*
FROM
(select * from
(select a.patname,a.queuesign,a.queuename,a.sortno,a.status,a.checkroom,a.areapart,a.enroldate,a.ofdepart
from qs_register a where a.status='就诊中'
group by a.patname,a.queuesign,a.queuename,a.sortno,a.status,a.checkroom,a.areapart,a.enroldate,a.ofdepart
order by a.queuename,a.status,a.enroldate) bb)cc
)
WHERE rn = 1
) mm, --查询已登记每组前3条数据并合并为(1003(张三丰),1003(张三丰),1003(张三丰))
(select
to_char(wmsys.wm_concat(
queuesign
||(select LPAD(sortno,3,0)from dual)
||'('||
patname||')'
)) as WaitPatients
from
(--查询分组数据的前 3 条数据
SELECT *
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY cc.queuename ORDER BY cc.enroldate) rn,
cc.*
FROM
( --查询已登记数据,根据队列、登记日期、状态排序--结束至bb
select * from
(select a.patname,a.queuesign,a.queuename,a.sortno,a.enroldate,a.status,a.ofdepart
from qs_register a where a.status='已登记'
group by a.patname,a.queuesign,a.queuename,a.sortno,a.enroldate,a.status,a.ofdepart
order by a.queuename,a.enroldate,a.status,a.ofdepart
) bb
)cc ) WHERE rn in(1,2,3)
) b
group by queuename
)nn) ok )
WHERE ook = 1 --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. 使用PHPMailer 中的报错解决 "Connection failed. Error #2: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:"

    PHPMailer项目地址:https://github.com/PHPMailer/PHPMailer 项目中用到PHPMailer,使用过程中报错:"Connection failed. ...

  2. awr脚本使用dump导出导入

    实际工作中,存在这么一种场景.客户现场分析问题,无法立即得出结论,且无法远程服务器,因此对于服务器中的awr信息,如何提取是一个问题,oracle有脚本可以对服务器中以db为单位导出awr基表的dum ...

  3. Django之模型层-单表操作

    单表操作 添加记录 方式1 # 先实例化models中的对象,按照定义的语句规则传入参数,然后使用对象调用save()保存到数据库 book_obj = Book(id=1,title='python ...

  4. 当Jaxb遇到泛型

    前言: 最近的工作内容跟银行有些交互, 对方提供的数据格式采用xml(不是预期的json/protobuf). 为了开发方便, 需要借助jaxb来实现xml和java对象之间的映射. 它还是有点像ja ...

  5. 【计算机视觉】seetaFace

    class impl class FaceDetection::Impl { public: Impl() : detector_(new seeta::fd::FuStDetector()), sl ...

  6. 神坑,使用gcc对opencv重编译

    工具 cmake-3.9.1 opencv-3.3.0  gcc-6.3.0 前几天为了装eclipse的CDT,把minggw里的make改了,今天突然想学opencv,可是只找到了vc版本,千辛万 ...

  7. web服务器和数据库服务器分离的优势

    一般我们服务器都是分开的,网页服务器.数据服务器单独配置. web服务器不掉,那么就可以正常使用,data服务器掉了,那么web还可以坚持一会. 如果是web服务器掉了,那么就上不去了,不过有一些设置 ...

  8. ls -l 和du 的区别

    编程之路刚刚开始,错误难免,希望大家能够指出. 简单的来说,ls -l 显示的是实际文件(目录)大小,而du显示的是文件(目录)占用磁盘空间的大小. linux下一切皆文件. 首先,硬盘的最小存储单位 ...

  9. What are User and Group Permissions

    https://www.linode.com/docs/tools-reference/linux-users-and-groups/ What are User and Group Permissi ...

  10. Appscan

    IBM AppScan该产品是一个领先的 Web 应用安全测试工具,曾以 Watchfire AppScan 的名称享誉业界.Rational AppScan 可自动化 Web 应用的安全漏洞评估工作 ...