--标准函数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. Spring Boot 揭秘与实战(七) 实用技术篇 - FreeMarker 模板引擎

    文章目录 1. FreeMaker 代替 JSP 作为页面渲染 2. 生成静态文件 3. 扩展阅读 4. 源代码 Spring Boot 提供了很多模板引擎的支持,例如 FreeMarker.Thym ...

  2. 【c++基础】从json文件提取数据

    前言 标注数据导出文件是json格式的,也就是python的dict格式,需要读取标注结果,可以使用c++或者python,本文使用c++实现的. JsonCpp简介 JsonCpp是一种轻量级的数据 ...

  3. html播放音乐

    如何在网站网页中添加音乐代码 告诉你多种格式文件的详细使用代码.    width_num——指定一个作为宽度的数字:    height_num——指定一个作为高度的数字:     1.mp3    ...

  4. RuntimeError: Broken toolchain: cannot link a simple C program

    今天Python2.7下安装numpy的时候遇到了此错误,进过查阅发现以下方法可行 在Python27\Lib\distutils\msvc9compiler.py 文件中,找到 mfinfo = s ...

  5. 阿里druid数据库连接池配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  6. 静态布局、自适应布局、流式布局、响应式布局、弹性布局简析、BFC

    静态布局:给页面元素设置固定的宽度和高度,单位用px,当窗口缩小,会出现滚动条,拉动滚动条显示被遮挡内容.针对不同分辨率的手机端,分别写不同的样式文件.例如:浏览器窗口是1000px,那么最小的宽度是 ...

  7. 构建工具(build tool)简述

    一.什么是构建工具 构建工具是一个把源代码生成可执行应用程序的过程自动化的程序(例如Android app生成apk).构建包括编译.连接跟把代码打包成可用的或可执行的形式. 基本上构建的自动化是编写 ...

  8. eclipse项目版本控制忽略上传文件

    *.classpath *.project */.git/* .deployables .git .settings .svn _svn bin target

  9. ios-邮箱正则表达式判断

    - (void)loadData { NSMutableArray *array = [NSMutableArray arrayWithCapacity:10]; if ([self.title is ...

  10. LG1861 星之器

    题意 题目背景 Magic Land 上的时间又过了若干世纪„„ 现在, 人们谈论着一个传说:从前,他们的祖先来到了一个位于东方的岛屿, 那里简直就是另外一个世界.善于分析与构造的 Magic Lan ...