MySQL刷题记录

基本语句


SELECT *
FROM (Table)
WHERE (处理关于单独存在column的条件)
group by
having avg(col) > 5(只能处理有aggregate result的条件)
ORDER BY

解释:
运行顺序:

  1. FROM 子句 组装来自不同数据源的数据;
  2. WHERE 子句基于指定的条件对记录行进行筛选;
  3. group by 子句将数据划分为多个分组;
  4. 使用聚集函数进行计算;
  5. 使用having子句筛选分组;
  6. 计算所有的表达式;
  7. select的字段;
  8. 使用order by对结果集进行排序。

窗口函数

  • 基本语法
SELECT start_terminal,
		duration_second,
		SUM(duration_seconds) OVER
		(PARTITION BY start_terminal ORDER BY start_time)
		AS running_total
FROM tutorial.dc_bikeshare_ql_2012
WHERE start_time < '2012-01-08'

Aggregate Function(SUM,AVG,etc) 和 Window Functions(Over,Partition,order)的区别

  • Agg函数会将所使用的那个字段的所有行都进行运算,并且返回一行
  • Win函数会将所使用的那个字段的所有行都进行一定的运算,并且返回同等多的行,不会改变原本的行数

在这里插入图片描述
窗口函数的使用:

  • 他是按照每个窗口来计算的,它不仅可以和聚合函数一起使用还可以和单值函数一起使用,它的sum函数是有顺序的
  • group by
  • window function
  • join函数

在这里插入图片描述

join

  • join 对列进行操作
  • union拼接行
字符串函数
Substring_index 函数
substring_index(“待截取的字符串,一般是某个字段名”,“分割符”,count) count为正数从左往右数,count为负数从右往左数
#思路:先将每个用户的性别提取出来形成一列属性,形成一张包含性别的表,其次再按性别分组统计

LIMIT 用法

在这里插入图片描述
AVG 函数会自动忽略null值

  • %H,对应00-23小时

  • %i,对应00-59分钟

  • %s,对应00-59秒

  • %Y,对应四位数的年份,如2022

  • %d,对应2位数的天,01-31

  • %m,对应两位数的月份,01-12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值