gpt4 book ai didi

sql - 是否可以根据条件以两种不同的方式对 SELECT 查询的结果进行排序?

转载 作者:行者123 更新时间:2023-11-29 04:57:54 27 4
gpt4 key购买 nike

以下是无效的语法,但这是我想表达的本质:

  SELECT *  
FROM categories
ORDER BY menu_order ASC WHERE parent = '1' || IF parent = '0' ORDER BY id ASC;

是否可以根据查询中的条件对选择查询的结果进行不同排序?

以防万一我不清楚,我正在尝试按菜单顺序对具有父项的类别进行排序,而对没有父项的类别按 ID 进行排序。

编辑

所以这是数据库的样子:

id | name    | parent | menu_order

==================================

1 | Apparel | 0 | 2
2 | Sports | 0 | 4
3 | Hats | 1 | 5
4 | Weights | 1 | 3
5 | Lights | 0 | 1

查询的结果集应该是:

Apparel
Sports
Lights

Weights
Hats

最佳答案

在 order by 中用例,像这样:

SELECT * FROM categories
ORDER BY
CASE WHEN parent = '1'
THEN menu_order
ELSE id
END;

关于sql - 是否可以根据条件以两种不同的方式对 SELECT 查询的结果进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801117/

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