gpt4 book ai didi

mysql按多个条件排序

转载 作者:IT王子 更新时间:2023-10-28 23:49:07 28 4
gpt4 key购买 nike

我在下面有 sql,想要创建多个 ORDER BY。

SELECT
r.*,
s.uzunluq,
b.id,
au.status_id as aksessuar_status,
au.aksessuar_id,
au.aksessuar
FROM
seksiya s,
result r
LEFT JOIN bosh_seksiya_aksessuar b
ON
b.bosh_seksiya = r.model AND
b.ERK = :ses
LEFT JOIN aksessuar_up au
ON au.model_id = r.res_id AND
au.user_id = :user_id AND
au.status_id = 9
WHERE
r.user_id = :user_id AND
r.model=s.seksiya AND
s.erk = :ses AND
r.status_id IN (1,2,3,4,5)
ORDER BY
r.res_id

我认为编写 php PDO 对你们来说并不重要,伙计们,因为我的问题只是关于这个 sql。这个 sql 工作得很好,我只是想添加额外的功能。因此,查看此列:r.status_id IN (1,2,3,4,5)

我已经给出了 Order BY r.res_id

我的问题:我想为每个 status_id

使用多个 ORDER

如何订购:

ORDER BY r.res_id DESC WHERE r.status_id IN (1,2)

ORDER BY r.res_id WHERE r.status_id IN (3,4,5)

在这个 sql 中?

最佳答案

ORDER BY IF(r.status_id IN (1,2), r.res_id, NULL) DESC, r.res_id

使用此 ORDER BY 子句排序的记录集将首先显示具有 r.status_id IN (1,2) 的所有记录(因为 NULL值按降序排列),它们本身按 r.res_id 的降序排列;后跟按 r.res_id 升序排序的所有其他值。

关于mysql按多个条件排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21982072/

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