头歌-第3关:统计查询-第4关:分组查询-第5关:数据排序

时间:2022-10-01 01:11:38

头歌链接-https://www.educoder.net/tasks/h37pz5x4f8ir

任务描述

本关任务:对jdxx统计查询 查询湖南省的街道个数 查询长沙市的街道个数 查询湖南省的区县个数 查询长沙市的区县个数

相关知识

为了完成本关任务,你需要掌握:统计查询函数

统计查询函数

SUM 计算数值列的和 AVG 计算数值列的平均值 MAX 计算列(数值、日期、字符)的最大值 MIN 计算列(数值、日期、字符)的最小值 COUNT 计算查询结果的数目

jdxx数据表有四个字段,分别是省份(sf)、城市(cs)、区县(qxmc)、街道(name)。 例如,查询天心区(qxmc)的所有字段的值结果如图所示

 

头歌-第3关:统计查询-第4关:分组查询-第5关:数据排序

use province;
-- select * from jdxx;
#代码开始
#答案1
select count(name) from jdxx
where sf='湖南省';
#答案2
select count(name) from jdxx
where cs='长沙市';
#答案3
select count(distinct qxmc) from jdxx
where sf='湖南省';
#答案4
select count(distinct qxmc) from jdxx
where cs='长沙市';

 #代码结束

任务描述

本关任务:统计每个省的名称和街道数目 显示街道数目大于200个的城市和街道数目 显示长沙市每个区县的街道数目

相关知识

为了完成本关任务,你需要掌握: 分组查询

如何分组查询

select 表达式列表 from 数据表 where 条件 group by 分组字段 having 分组条件 表达式列表可以为分组字段,也可以是统计函数 注意分组条件和条件的区别

jdxx数据表有四个字段,分别是省份(sf)、城市(cs)、区县(qxmc)、街道(name)。 例如,查询天心区(qxmc)的所有字段的值结果如图所示  

头歌-第3关:统计查询-第4关:分组查询-第5关:数据排序

 use province;
#代码开始
#题目1
select sf,count(*) from jdxx
group by sf; 
-- #题目2
select cs,count(*) from jdxx
-- where count(name)>200;
group by cs having count(name)>200;
#题目3
select qxmc,count(*) from jdxx
where cs='长沙市'
group by qxmc;
#题目4
 
 
 #代码结束

任务描述

本关任务:显示jdtj数据表中街道个数最多的10个的所有字段; 显示jdtj数据表中街道个数最少的10个的所有字段; 按街道个数从高到底,街道个数相同的按省份升序排序显示jdtj数据表中街道个数大于35的所有字段 jdtj数据表字段为省份(sf)、城市(cs)、区县(qx) 、街道个数(jdgs)字段

头歌-第3关:统计查询-第4关:分组查询-第5关:数据排序

相关知识

为了完成本关任务,你需要掌握:如何排序

排序数据

Order by <字段名1> ASC|DESC, <字段名2> >ASC|DESC…… 首先按照<字段名1>的顺序排列记录 若多条记录的<字段名1>值相同,则按<字段名2>的顺序排列 ASC升序 DESC降序 默认升序

使用limit 位置偏移量 <行数> 指定查询结果的数量 位置偏移量指示从第几行开始显示,0表示从第1行开始,若省略默认为0,<行数>指定返回的记录条数

 use province;
 #代码开始
 #第一题
select * from jdtj 
order by jdgs desc
limit 10;
 #第二题
select * from jdtj
order by jdgs asc
limit 10;
 #第三题
select * from jdtj
where jdgs>35
order by jdgs desc,sf asc; 
 #代码结束