mysql查询日期在当前日期之后的所有记录_面试必备sql知识点——MySQL基础进阶...

65474a95f6804f7aed6ffe1eb5d131f7.png

上期讲解了MySQL的一些基础知识(面试必备sql知识点——MySQL基础)

本期继续深化知识点,基于基础,做进一步延伸。学习就是个不断反刍的过程,将碎片化的知识,搭建成完整的框架体系,才能够真正掌握。如果对你有帮助,建议点赞收藏!

内容大纲:

aa628cd9d53fe9559f6e7af597705c2c.png

一、条件

CASE表达式

case 函数的格式为:case when 判断表达式 then 表达式 else 表达式 end

else 可省略,end不可省略。

  • 连续数值转离散分类

d59e8ddbe48ae9cb95f8c0fae421c236.png
表格
--借款金额分组
select (case
when 借款金额>0 and 借款金额 <=5000 then '0-5000'
when 借款金额>5000 and 借款金额 <=10000 then '5000-10000'
when 借款金额>10000 and 借款金额 <=20000 then '10000-20000'
when 借款金额>20000 and 借款金额 <=50000 then '20000-50000'
else'50000以上' end )as "借款金额区间"
from table1
  • 行列转换

193dde3eeb4bd1c3c55b0636b46589ec.png
表格
SELECT 学号,
sum(case 课程号 when '001' then 成绩 else 0 end ) as '课程001',
sum(case 课程号 when '002' then 成绩 else 0 end ) as '课程002',
sum(case 课程号 when '003' then 成绩 else 0 end ) as '课程003'
from score
GROUP BY 学号;

9f518536042ea20b8df286eee682e342.png
查询结果

if函数

if函数格式为:if(条件,条件为真时的值,条件为假时的值)

如上述行列转换也可以这样写,得到的结果一致。

SELECT 
sum(if(课程号=001,成绩,0))as '课程001',
sum(if(课程号=002,成绩,0))as '课程002',
sum(if(课程号=003,成绩,0))as '课程003'
from score
GROUP BY 学号;

506d5af5ef3b3a883bc3457d60d72716.png
查询结果

但借款金额的分组就不如case when 书写方便了,但在计数算比列方面,if的写法可以减少查询的嵌套。

二、字符串函数

常用

  • concat 字符串拼接 —— concat(字符串,字符串···)

2a929310e7362be1b080cc2aa29be16d.png
表格
SELECT concat(str1,str2) as string
from str;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值