> 文章列表 > Leetcode数据库Mysql刷题总结

Leetcode数据库Mysql刷题总结

Leetcode数据库Mysql刷题总结

文章目录

  • 一. 常见操作符
    • 1. Union
    • 2. Where
    • 3. Or
    • 4. 不等于
    • 5. 连接
    • 6. 排序
    • 7. if函数
    • 8. 求余数:MOD
    • 9. left函数:取字符串
    • 10. LIKE:模糊查询
    • 11. select去重
    • 12. 两个日期求差
    • 13. 分组之后的过滤
    • 14. 取出datetime类型中的年
    • 15. 数据保留多少位小数
    • 16. 分组求有多少行
    • 17. 求时间差
  • 二. 常见操作
    • 1. select加入常量
    • 2. 分组统计数量
    • 3. 求时间最晚对应的信息
    • 4. 输出带百分号
  • 三. 刷题记录

一. 常见操作符

1. Union

UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

2. Where

条件语句

3. Or

表示或

4. 不等于

<> !=
mysql不等于用法不包含null字符串

5. 连接

  • 左连接:a,b 求的是a
    left join …
    on …(连接的条件)
  • 内连接:求a,b的交集
    inner join
    on

6. 排序

order by

7. if函数

IF(condition, value_if_true, value_if_false)

8. 求余数:MOD

MOD(x, y)

9. left函数:取字符串

LEFT()函数是一个字符串函数,它返回具有指定长度的字符串的左边部分。

LEFT(str,length);
LEFT()函数接受两个参数:
str是要提取子字符串的字符串。
length是一个正整数,指定将从左边返回的字符数。

10. LIKE:模糊查询

模糊查询 配合%

11. select去重

distinct
group by 也可以…但是一般不使用

12. 两个日期求差

yyyyMMdd
dateDiff(a,b) a-b

13. 分组之后的过滤

group by …
having …

14. 取出datetime类型中的年

year(datetime)

15. 数据保留多少位小数

round (X,N)

16. 分组求有多少行

count(字段名)
group by 字段名

17. 求时间差

TIMESTAMPDIFF(指定时间类型,start,end)

二. 常见操作

1. select加入常量列

select '常量‘ [as] 列名 from table

2. 分组统计数量

count...
group by..

3. 求时间最晚对应的信息

#子查询
select  * from employees where hire_date = (select max(hire_date )from employees );
#分页查询
select * from employees order by hire_date desc limit 1;

4. 输出带百分号

CONCAT(avg_play_progress, "%")

三. 刷题记录

SQL156 各个视频的平均完播率

SQL157 平均播放进度大于60%的视频类别