Mysql中的条件函数
AI-摘要
Tianli GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
在我们日常开发中,有时可能会在SQL中写一些条件,例如这里一个例子
这里有这样一张表,数据如下:

如果我们需要把未认证(状态为NOT_AUTH)的用户放到前面排序显示,在不影响分页的情况下,我们可以这么写
SELECT *,IF(status='NOT_AUTH','NOT_AUTH',null) AS sort FROM `user` ORDER BY sort DESC
这里使用到了MYSQL的IF函数
IF([条件],[为true时值],[为false时值])
例如我们需要整体排序,认证中的在最前,然后是未认证的,最后是已认证的
我们则可以使用MYSQL中的CASE、WHEN、THEN、ELSE、END一套去做
SELECT *,( CASE WHEN STATUS = 'AUTHING' THEN 0 WHEN STATUS = 'NOT_AUTH' THEN 1 WHEN STATUS = 'HAS_AUTH' THEN 2 ELSE 999 END ) AS sort
FROM
`user`
ORDER BY
sort ASC
这里
CASE
WHEN [条件1] THEN [条件1满足时值]
WHEN [条件2] THEN [条件2满足时值]
WHEN [条件3] THEN [条件3满足时值]
ELSE [条件都不满足时值]
END
PS:在除了查询语句中,其余操作的SQL都可以用该函数哦
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 leaflei
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果