MYSQL常用函数,IF函数,IFNULL,CASE运算符
IFNULL函数和COALESCE
在ADDRESS表格里,一些地址是null,想让他成为暂未填写而不是空值
那么我直接写select,然后直接写IFNULL后面接着我要更换的列就可以了

假设phone的列是空值,也可以直接还函数,或者我想返回的是其他的值

比如返回的是id,直接调整参数就可以了

所以,IFNULL函数,用其他值替换空值,而COALESCE函数,提供可以替换的值,返回的是这堆值中的第一个非空值。
IF函数 The IF Function
一个订单表,可以用IF函数进行区分,比如按照时间或金额。
比如今年下单的是S级用户,其他的是a,执行有这个结果。

直接搬运一道题,写一段查询,生成结果为many times或者once

select product_id,name
from products
然后加入一列
join order_items USING (product_id)
然后运用统计函数
select product_id,name
count(*)as orders
from products
join order_items USING (product_id)
group by product_id,name
执行查询,得到每个列的订单数,最后加入IF
if (count(*)>1,'many times','once') as frequence
完整写出来就是
select product_id,name
count(*)as orders
if (count(*)>1,'many times','once') as frequency
from products
join order_items USING (product_id)
group by product_id,name
CASE 运算符 The Case Operator
结合IF函数,是,返回一结果,不是,返回另一个结果
如果有几个表达式需要测试,那怎么办呢?
比如上面的今年就是S级别用户,其他就是A级别用户
如果今天是S,去年是A,前年是B,可以用CASE运算
开头case,中间是条件,结尾end,执行得出结果

如果运用积分和黄金,白银,青铜区分的话,可以这么写

书写如下

完结~
相关推荐
-
MYSQL常用函数,IF函数,IFNULL,CASE运算符2025-04-16 00:43:20
-
MySQL7:视图2025-04-16 00:42:48
-
PHP 操作 rabbitMQ 两种方式2025-04-16 00:30:06
-
php json_encode 中文不转码2025-04-16 00:28:34
-
Mysql:明明加了唯一索引,怎么还是出现重复数据了呢?2025-04-16 00:01:40