2
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
,但没有得到结果。mysql动态ORDER BY子句
...
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