美文网首页
2022-03-02 SQL查询

2022-03-02 SQL查询

作者: Denholm | 来源:发表于2022-03-03 09:10 被阅读0次
-- #################SQL的查询###########################

-- 1、基本查询
select sid myid, sscore
from score;

-- 2、聚合函数
/*
   如果在本地模式下不能执行mr,则需要做以下配置:
    vim /export/server/hive/conf/hive-env.sh
    1: 将export HADOOP_HEAPSIZE=1024注释打开
    2:重启hive
 */
select count(sid)
from score;

select max(sscore)
from score;

-- 3、limit查询
select *
from student
limit 3;

-- 从索引为3的行(第4行)开始查询5行
select *
from student
limit 3,5;

-- 4、条件查询
select *
from score
where sscore is null;

select *
from score
where sscore is not null;

select *
from score
where sscore in (80, 90, 99);

select *
from covid2;

/**
  %:匹配多个任意字符
  _:匹配单个任意字符
 */

-- 查询以 'C'字母开头的县
select *
from covid2
-- 区分大小写
where county like 'C%';

-- 查询第二个字符是'c'字母的县
select *
from covid2
where county like '_c%';

-- 查询名字是四个字母的县
select *
from covid2
where county like '____';

-- 查询包含 'chi' 名字的州
select *
from covid2
where county like '%chi%';

-- 查询包含 'c' 名字的县
select *
from covid2
where county rlike '[c]';

-- 查询学号不是 1 3 5 的学生
select *
from student
where sid not in ('01', '03', '05');

-- 查询每一个学生的平均分数
-- 分组之后,不管每一组有多少条数据,每一组最后只剩下一条数据
select sid, trunc(avg(sscore), 0) avg
from score
group by sid;

-- 如果有分组,则select的后边只能跟分组字段和聚合函数
-- 执行报错
-- select sid, cid, avg(sscore)
-- from score
-- group by sid;

-- 统计每一个州的确诊病例总人数,并降序排序
select state, sum(cases) total_cases
from covid2
group by state
order by total_cases desc;

-- 统计每一个州,每一个县的确诊病例总人数
select state, county, sum(cases) total_cases
from covid2
group by state, county
order by total_cases desc;

-- 统计每一个州的总确诊人数,并筛选出总确诊人数大于100万的州
-- 对分组后的结果再进行筛选,就必须使用having
select state, sum(cases) total_cases
from covid2
group by state
having total_cases > 1000000
order by total_cases desc;

相关文章

网友评论

      本文标题:2022-03-02 SQL查询

      本文链接:https://www.haomeiwen.com/subject/kyrerrtx.html