gpt4 book ai didi

mysql动态ORDER BY子句

转载 作者:行者123 更新时间:2023-11-29 02:21:43 24 4
gpt4 key购买 nike

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com