gpt4 book ai didi

sql-server - 针对同一个表但具有不同ORDER BY的多个SELECT

转载 作者:行者123 更新时间:2023-12-03 23:54:53 24 4
gpt4 key购买 nike

我想从同一张表中获取数据,但是根据第三个字段的值按2个不同的字段排序



SELECT * FROM MyTable
WHERE Status = 0
ORDER BY SortOrder

UNION

SELECT * FROM MyTable
WHERE Status = 1
ORDER BY ModifiedAt DESC


当然,我在UNION中不能有2个ORDER BY,所以想知道是否有一种更好的(性能方面)的方法而不必求助于2个数据库查询-也许是通过某种子查询进行的?

最佳答案

您可以按以下顺序使用case

select *
from YourTable
where Status in (0, 1)
order by Status,
case when Status = 0 then SortOrder end,
ModifiedAt desc

关于sql-server - 针对同一个表但具有不同ORDER BY的多个SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9028468/

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