文章插图
文章插图
create table student(
name varchar2(30),
gj varchar2(20),
score number(4,1)
);
insert into student (name, gj, score) values ('李二', '中国', 90);
insert into student (name, gj, score) values ('张无忌', '美国', 80);
insert into student (name, gj, score) values ('周芷若', '俄罗斯', 79);
insert into student (name, gj, score) values ('xx', '中国', 95);
insert into student (name, gj, score) values ('hh', '美国', 85);
insert into student (name, gj, score) values ('kk', '俄罗斯', 77);
select count(u.xm) as 总人数,
sum(decode(u.gj, 1, u.cj)) as 中国成绩,
sum(decode(u.gj, 2, u.cj)) as 美国成绩,
sum(decode(u.gj, 3, u.cj)) as 俄罗斯成绩
From (select name as xm,
decode(gj, '中国', 1, '美国', 2, '俄罗斯', 3) as gj,
sum(score) as cj
from student
group by name,gj) u;
【oracle 函数decode用法】
推荐阅读
- MySQL 中常见的字符串函数应用详解
- Mysql:替换某个字段中的部分字符串——replace函数
- 在C++中,函数重载和运算符重载有啥区别?
- Linux系统启动时为什么没有最先调用main函数?
- 如何查看Oracle数据库物理读、逻辑读前10的sql?
- Docker下部署Oracle10g
- Oracle海量数据快速处理bulk
- MySQL中的max函数你真的会用吗?
- Pyhton闭包、装饰器
- 详解 C++ 的隐式类型转换与函数重载