SQL必知必会*刷题记录*Day2(22.8.9)81-90

1.截取函数:substring()

    用法:SUBSTRING(str  ,n ,m):返回字符串str从第n个字符截取到第m个字符;

2.拼接函数:concat()

    用法:select concat(A,B) 或者select A || B

3.大写函数UPPER()

 

 

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

字符串匹配(近似查找法)

用like来查找

1

2

3

4

select order_num, order_date

from Orders

where order_date like '2020-01%'

order by order_date

切割字符串

1

2

3

4

select order_num, order_date

from Orders

where left(order_date, 7) = '2020-01'

order by order_date

字符串比较

1

2

3

4

select *

from Orders

where order_date >= '2020-01-01 00:00:00' and order_date <= '2020-01-31 23:59:59'

order by order_date;

用正则来查找(效率不如like,能用like就用like)

1

2

3

4

select order_num, order_date

from Orders

where order_date regexp '2020-01'

order by order_date

时间函数匹配

1

2

3

4

select order_num, order_date

from Orders

where year(order_date) = '2020' and month(order_date) = '1'

order by order_date

利用date_format函数 (参考其中的匹配规则进行匹配)

1

2

3

4

select order_num, order_date

from Orders

where date_format(order_date, '%Y-%m')='2020-01'

order by order_date

sum:求和

as:改别名

Aaaa AS BBBBB  将A改为B

HAVING

 子句对 GROUP BY 子句设置条件的方式与 WHERE 和 SELECT 的交互方式类似。

WHERE 搜索条件在进行分组操作之前应用;

而 HAVING 搜索条件在进行分组操作之后应用。

HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中显示的任意项。

 

① 表名和字段名,即使是中文也不用加单引号;

② 对于表格内的value值,要不要加单引号取决于这个字段设置的数据类型。

      1.sum函数是计算数字的求和,然而count是计算的这一列的总和

     2.group by 和order by连用的时候要注意,order by要在后面

    sql中关键字出现的顺序是:select/from/where/group by/having/order by/limit

1.sum函数是计算数字的求和,然而count是计算的这一列的总和

#        2.group by 和order by连用的时候要注意,order by要在后面

#        sql中关键字出现的顺序是:select/from/where/group by/having/order by/limit

 

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

where用于聚合计算前的字段筛选,having用于聚合计算后的字段筛选,如果有计算字段过滤指标,则用having 不用 where order by order_num

where语句中不能过滤聚合函数,如sum、max、min…

having过滤分组

 

select是在group by和 having之后才执行的

 

  • 最大值---max()
  • 最小值---min()
  • 平均值---avg()
  • 总值 ---sum()
  • 总数 ---count()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值