1.start with connect by prior 递归查询用法
给出任意一个结点,遍历其所有的父结点或者子结点。用法如下:
(1)根据子节点id 863400 合肥中心支公司查询此节点的所有父节点
start with 子句:遍历起始条件,有个小技巧,如果要查父结点,这里可以用子结点的列,反之亦然。
connect by 子句:连接条件。关键词prior,prior跟父节点列parentid放在一起,就是往父结点方向遍历;prior跟子结点列subid放在一起,则往叶子结点方向遍历,parentid、subid两列谁放在“=”前都无所谓,关键是prior跟谁在一起。
(2)根据父节点id 863400 合肥中心支公司查询此节点的所有子节点
2.oracle查询返回排名序号rankNo
SELECT row_number() over(order by column desc/asc) rankNo,根据column 降序/升序排序得出排名序号
3.decode(value,if1,then1,if2,then2,if3,then3,…,else)函数用法
含义为
IF 条件=值1 THEN
RETURN(value 1)
ELSIF 条件=值2 THEN
RETURN(value 2)
…
ELSIF 条件=值n THEN
RETURN(value 3)
ELSE
RETURN(default)
END IF
示例:查询订单表,根据状态排序,待支付的订单排在最前面,完成的订单排在最后面
order by decode(eo.order_status,‘02’,1,null,2,‘07’,3,‘04’,4,‘05’,5) asc,eio.CREATED_DATE desc
4.oracle四大排名函数ROW_NUMBER()、RANK()、DENSE_RANK()、NTILE()
链接:https://blog.csdn.net/shaiguchun9503/article/details/82349050
5.sum函数统计查询结果今天,昨天,当月件数和金额
sum(case when to_c