oracle group表达式,oracle条件表达式与分组

前言

表中的数据

20180801132920846179.png

20180801132920958484.png

1条件表达式

1.1数据库通用条件表达式

语法:

case 列

when 列值1 then  显示值1

when 列值2 then  显示值2

when 列值3 then  显示值3

else

默认值

end

例子:

表的数据

20180801132921356921.png

SELECT deptno,case deptno

WHEN 10 THEN ‘十‘

WHEN 20 THEN ‘二十‘

WHEN 30 THEN ‘三十‘

WHEN 40 THEN ‘四十‘

ELSE ‘零‘

END "中文数值"

FROM dept;

20180801132921490711.png

1.2oracle特有条件表达式

decode(列,列值1,显示值1,列值2,显示值2,默认值)

SELECT deptno,

DECODE(deptno,10,‘十‘,20,‘二十‘,30,‘三十‘,40,‘四十‘,‘五十‘)

FROM emp;

20180801132921614734.png

2.分组

分组关键字group by ,过滤条件having

SELECT deptno,COUNT(ename) FROM emp GROUP BY deptno

20180801132921701648.png

加上having过滤条件

SELECT deptno,COUNT(ename) FROM emp GROUP BY deptno HAVING deptno >10;

20180801132921784656.png

where和having的区别:

where后面不能接聚合函数,可以接单行函数

having实在group by之后执行,可以接聚合函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值