有两张表,用户表,游戏角色表


题目一:查询'2019-04-20' 到 '2019-04-23'期间注册的角色个数(以日期为分组,reg_time数据类型需为date)
结果:

查询语句:
用group by和having子句联合来查出不重复的记录
having一般跟在group by之后,执行记录组选择的一部分来工作的。
select reg_time as '注册时间',count(*) as '数量' from user group by reg_time having reg_time between '2019-04-20' and '2019-04-23'
题目二:查询'2019-04-20' 到 '2019-04-23'期间注册的,角色等级大于3的用户名称和角色等级
结果:

查询语句:
select a.user_name as '用户名称',b.level as '角色等级' from user a join role b on a.role_id=b.role_id and a.reg_time between '2019-04-20' and '2019-04-23' and b.level>3
假如我们有如下一张数据表(很简单,只是举例而已),表名为student。现在我们要取出其中重复记录。重复是以name相同为判定标准。
| shortname | age | height | weight | province | university |
|---|---|---|---|---|---|
| 小王 | 20 | 170 | 150 | 河南 | 清华大学 |
| 小张 | 21 | 175 | 144 | 河北 | 北京大学 |
| 小李 | 20 | 160 | 122 | 福建 | 武汉大学 |
| 小赵 | 35 | 165 | 177 | 江西 | 浙江大学 |
| 小孙 | 40 | 164 | 188 | 西藏 | 华中科技大学 |
| 小宋 | 38 | 172 | 166 | 云南 | 四川大学 |
| 小王 | 21 | 170 | 150 | 河南 | 清华大学 |
| 小张 | 22 | 168 | 120 | 山东 | 山东大学 |
SELECT * FROM student WHERE shortname IN (SELECT shortname FROM student GROUP BY shortname HAVING COUNT(shortname)>1)//查找出所有的重复数据1
SELECT shortname,COUNT(*) FROM student GROUP BY shortname HAVING COUNT(*) > 1//查看重复数据的条数
MySQL知识点总结
存储引擎
一些常用命令
查看MySQL提供的所有存储引擎
mysql> show engines;

查看MySQL提供的所有存储引擎
从上图我们可以查看出 MySQL 当前默认的存储引擎是InnoDB,并且在5.7版本所有的存储引擎中只有

这篇博客总结了MySQL的面试重点,包括存储引擎的对比(MyISAM与InnoDB)、字符集与校对规则、索引的类型和原理、查询缓存的使用、事务及其四大特性(ACID)和隔离级别,以及锁机制。博客还讨论了InnoDB的行级锁与表级锁,以及如何应对大表优化问题,如限定数据范围、读/写分离、垂直分区和水平分区等策略。
最低0.47元/天 解锁文章

599

被折叠的 条评论
为什么被折叠?



