mysql学习训练记录及笔记(二)
时间:2019-12-03
本文章向大家介绍mysql学习训练记录及笔记(二),主要包括mysql学习训练记录及笔记(二)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
接着训练一
I、sql训练
21、查询不同老师所教不同课程平均分从高到低显示
select t3.t_id, t3.t_name, avg(t1.s_score) as avg_score from score t1 left join course t2 on t1.c_id = t2.c_id left join teacher t3 on t2.t_id = t3.t_id group by t3.t_id, t3.t_name order by avg_score desc;
22、查询所有课程的成绩第2名到第3名的学生信息及该课程成绩
这里学习到rank()函数
select * from student t1 join (select s_id,s_score,c_id, (rank() over(partition by c_id order by s_score desc)) as 排名 from score ) as t2 on t1.s_id =t2.s_id
23、
select t2.c_id,t2.c_name, (sum(case when s_score between 85 and 100 then 1 else 0 end)/count(s_score))*100 a, (sum(case when s_score <85 and s_score>70 then 1 else 0 end)/count(s_score))*100 b, (sum(case when s_score between 60 and 70 then 1 else 0 end)/count(s_score))*100 c, (sum(case when s_score between 0 and 60 then 1 else 0 end)/count(s_score))*100 d from score t1 join course t2 on t1.c_id=t2.c_id group by t1.c_id
24、
select avg(s_score), rank() over(order by avg(s_score)) from score group by s_id
25、
select * from (select c_id,s_id,dense_rank() over(partition by c_id order by s_score) as ran from score) t1 where t1.ran<4
26、
select c_id,count(s_id) from score group by c_id
27、
select s_id,s_name from student where s_id in (select s_id from score group by s_id having count(s_score) = 2)
28、
select s_sex,count(s_id) from student group by s_sex;
29、
select * from student where s_name like '%风%'
30、
select s_name,count(s_id) as count_num from student group by s_name having count(s_id)>1
31、
select * from student where s_birth like '1990%'
32、
连续两个条件排序,只需要加个条件即可
select avg(s_score) from score group by c_id order by avg(s_score) desc,c_id asc;
33、
select t1.s_id,t1.s_name,avg(t2.s_score) as avg_score from student t1 join score t2 on t1.s_id=t2.s_id group by t1.s_id having avg_score >=85
34、
select t1.s_name,t2.s_score from student t1 join score t2 on t1.s_id =t2.s_id join course t3 on t2.c_id =t3.c_id where t3.c_name='数学' and t2.s_score <60
原文地址:https://www.cnblogs.com/gambler/p/11977949.html
- Git 项目推荐 | javascript ajax 代理调用工具
- Hive 时间日期处理总结
- 孤立的SQL用户
- 如何卸载CDH(附一键卸载github源码)
- github & CSRF
- 如何使用Python读取大文件
- 介绍一种非常好用汇总数据的方式GROUPING SETS
- 史上最大的CPU Bug(幽灵和熔断的OS&SQLServer补丁)
- 数据库副本的自动种子设定(自增长)
- Git 项目推荐 | 基于go+protobuff 实现的分布式
- ReflectASM-invoke,高效率java反射机制原理
- Web应用渗透测试-本地文件包含
- shiro权限控制(二):分布式架构中shiro的实现
- Groovy实现原理分析——准备工作
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解