数据库
小小码农已使用
这个作者很懒,什么都没留下…
展开
-
记录总结:Oracle子查询语句记录理解
记录一 查询顺序 FROM,WHERE,GROUP BY,SELECT,ORDER BY (select 只的是查询的指定列) 记录二 子查询 语句理解 select m.*, ( SELECT o.name orgname from TREE T, ORGANIZATION O where T.PID <> -1 AND T.DATAID = O.ID(+) and rownum = 1 start with t.id = m.defpos connect by prior t.PID原创 2021-03-22 15:25:16 · 93 阅读 · 0 评论 -
记录总结:Oracle分段、分页查询(rownum )和 递归查询
分段查询rownum 例如查询第1300 到1310之间9条数据 select m.* from (select rownum as rowno,f.* from orcltable F where rownum <1310 order by f.row_id ) m where m.rowno>1300 注意(rownum易出错情况)如下: select rownum as rowno,f.* from orcltable F where rownum >1310 若改为大于查原创 2021-03-22 14:33:13 · 839 阅读 · 0 评论 -
Oracle数据库 列转行 函数wm_concat 和函数listagg
列数据 pid userid 1 0000 1 0001 1 0002 想要得到的结果 pid userid 1 0000,0001,0002 方法一: 函数wm_concat() select t.pid , wm_concat(t.userid) from oraceltable group by t.id 存在问题 :版本为12G以上的该方法会出现乱码问题 替代函数为 listagg 方法二: 函数listagg(userid,’,’)within group (or原创 2021-03-18 15:43:00 · 272 阅读 · 0 评论