oracle条件表达式与分组
Posted gj-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle条件表达式与分组相关的知识,希望对你有一定的参考价值。
前言
表中的数据
1条件表达式
1.1数据库通用条件表达式
语法:
case 列
when 列值1 then 显示值1
when 列值2 then 显示值2
when 列值3 then 显示值3
else
默认值
end
例子:
表的数据
SELECT deptno ,case deptno
WHEN 10 THEN ‘十‘
WHEN 20 THEN ‘二十‘
WHEN 30 THEN ‘三十‘
WHEN 40 THEN ‘四十‘
ELSE ‘零‘
END "中文数值"
FROM dept;
1.2oracle特有条件表达式
decode(列,列值1,显示值1,列值2,显示值2,默认值)
SELECT deptno,
DECODE(deptno,10,‘十‘,20,‘二十‘,30,‘三十‘,40,‘四十‘,‘五十‘)
FROM emp;
2.分组
分组关键字group by ,过滤条件having
SELECT deptno, COUNT(ename) FROM emp GROUP BY deptno
加上having过滤条件
SELECT deptno, COUNT(ename) FROM emp GROUP BY deptno HAVING deptno >10;
where和having的区别:
where后面不能接聚合函数,可以接单行函数
having实在group by之后执行,可以接聚合函数
以上是关于oracle条件表达式与分组的主要内容,如果未能解决你的问题,请参考以下文章