sql学习-with as的使用-分析数据得到结果
Posted 许佳佳233
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql学习-with as的使用-分析数据得到结果相关的知识,希望对你有一定的参考价值。
概述
当前有一张“学生成绩表”
需要查询男女的及格率。
例子
create table StudentScore (
name string,
score int,
sex string
);
INSERT INTO StudentScore VALUES
('AAA',32,'man'),
('BBB',58,'man'),
('CCC',82,'man'),
('DDD',44,'woman'),
('EEE',92,'woman');
select查询
with as作用:
定义一个SQL片断,该SQL片断会被整个SQL语句所用到。
不仅可以提高代码的可读性,也可以提高代码的复用性。
with
tmp_sex_count as (
select count(1) as count_all,sex
from StudentScore
group by sex
),
tmp_sex_score as(
select count(1) as count_0_60
,sex
from StudentScore
where score<60
group by sex
)
select tmp_sex_count.sex as sex
,count_0_60
,count_all
,count_0_60*100/count_all as percent_0_60
from tmp_sex_count
join tmp_sex_score on tmp_sex_score.sex=tmp_sex_score.sex;
查询结果
man|2|3|66
woman|2|2|100
man|1|3|33
woman|1|2|50
以上是关于sql学习-with as的使用-分析数据得到结果的主要内容,如果未能解决你的问题,请参考以下文章