Mysql学习
自用
Steins_Gate_0
这个作者很懒,什么都没留下…
展开
-
分组查询得到一列多行数据后,怎么用来和表中的某列数据进行一一比较
这里可以进行连表操作,把分组查询得到的结果与原表通过sno学号进行等值连接 ,就在每行的后面跟上其学号所对应的平均成绩。这里要先进行分组得到每个学号对应的平均成绩,在用表中的成绩grade与得到的平均成绩一一比较。最后进行筛选,选出每个学生此课程成绩大于平均成绩的课程。#10)查询每个学生超过他自己选修课程平均成绩的课程号。原创 2024-04-20 21:11:33 · 113 阅读 · 0 评论 -
多表查询中的连接方式写法
在等值连接的基础上把等值条件改成非等值条件即可。如>,>=,<,<=,!原创 2024-04-15 16:20:40 · 101 阅读 · 0 评论 -
MySQL的列子查询
常用的操作符:IN 、NOT IN 、 ANY 、SOME 、 ALL。大于任意一个人的值就salary > any(xxxxx)就行了。子查询返回的结果是一列(可以是多行),这种子查询称为列子查询。一般来说,其它操作符使用的范围比in更广,比如说求最值的时候,使用any/some。原创 2024-04-07 20:18:59 · 181 阅读 · 0 评论 -
SQL22 统计每个学校的答过题的用户的平均答题数(连接查询练习1)
count(distinct (question_practice_detail.device_id))为统计人数,这里我们是根据设备号来分人的,所以要先进行去重操作(distinct居然还可以这么用!最后求每个学校的答过题的用户的平均答题数就用 题目数/人数得到,这里肯定不能用avg(),avg()函数是用来对某列求平均值的,这里用不了。然后按照university分组,分完组后统计每个大学的题目数和人数,count(question_id)为统计题目数,原创 2024-04-06 12:00:00 · 183 阅读 · 0 评论 -
MySQL count函数的使用
否则直接得到6,也就是等价于select count(gender) from user_profile;count()函数在使用时参数好像不能设置为表达式,只能设置成指定字段或*原创 2024-03-31 12:27:41 · 283 阅读 · 0 评论 -
MySQL中匹配年月问题
一般数据库中给到的时间都是年-月-日形式的,那怎么匹配年-月/的形式?法一:使用month()函数和year()函数。法二:like占位符。原创 2024-03-31 11:09:57 · 254 阅读 · 0 评论