gpt4 book ai didi

mysql - 基于字段内容的条件排序

转载 作者:行者123 更新时间:2023-11-30 22:06:19 25 4
gpt4 key购买 nike

我有一个 SQL 表包含

ID
Title
Group Title

一切都有一个ID,一切都有一个Title,但是只有少数有一个Group Title
我想提取一个记录列表,但是如果 Group Title 存在,我希望它可以否决 Title
然后我想按结果对列表进行排序;所以,
如果我有三个记录

id           title          group title
1 Womble
2 Alphabet Zebra
3 Mirror

结果将是

id          result
3 Mirror
1 Womble
2 Zebra

如何通过单个查询实现此目的?

我怀疑我需要用一个 select 做一个 select,虽然下面的方法似乎有效,但似乎有点“hacky”和作弊

SELECT CONCAT_WS('',group_title,title) AS ordering,id,film_title,series_title 
FROM records
ORDER BY ordering

因此,如果 group titleNULL,则不会出现任何内容,但如果出现,则将 group_title 附加到标题上。这个字段永远不会显示,即使它看起来很丑。

最佳答案

如果我明白你想要什么,我想你可以使用这样的查询:

select 
case when trim(coalesce(group_title, '')) = '' then
title
else
group_title
end ordering,
id, film_title, series_title
from records
order by ordering;

[ SQL Fiddle Demo ]

关于mysql - 基于字段内容的条件排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41622416/

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