作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
SELECT
r.*,
ss.length
FROM
result r,
soptions ss,
sections s
WHERE
r.model = s.id AND
s.catalog2_id = ss.catalog2_id AND
r.user_id = 1 AND
ss.erk_id = 4 AND
r.status_id NOT IN(1,2,3,4)
ORDER BY
IF(r.side_id = 2, r.side_id, NULL) DESC, r.id
这个 sql 命令对我很有用。我没有看到描述我的表结构的原因,因为我只想向 ORDER BY
添加一行。很快,有没有办法像下面那样使用多个 IF 条件?或者我需要设置 CASE WHEN ELSE
?我已经尝试使用 CASE WHEN
,但没有得到结果。
...
ORDER BY
IF(r.side_id = 2, r.side_id, NULL) DESC, r.id
IF(r.status_id = 6, r.id, NULL) DESC, r.id
最佳答案
你能做这样的事情吗:
(
CASE
WHEN r.side_id = 2
THEN r.side_id
WHEN r.status_id = 6
THEN r.id
ELSE NULL
END
) DESC,
r.id
关于mysql动态ORDER BY子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30589072/
我是一名优秀的程序员,十分优秀!