gpt4 book ai didi

mysql - 如何在排序其余部分时将元组与 sql 排序隔离开来?

转载 作者:行者123 更新时间:2023-12-01 00:09:50 25 4
gpt4 key购买 nike

我在这里搜索了一个答案,但没有找到更接近我的问题的答案。

我有以下情况:我需要先显示一个人,然后按升序显示其余部分。同 table 的所有人。我试过 UNION 但在那之后,SQL 似乎再次混合了所有内容。

我试过这个:

select name from people where name = 'John'
UNION
select name from people order by name

因为 UNION 不选择重复值。但最后,它混淆了每个结果,没有按正确的顺序显示:

John
Ana
Bruce

我做错了什么?

最佳答案

您需要使用order by 来获得您想要的。在 MySQL 中,这非常简单:

select name
from people
order by (name = 'John') desc, name

结果集(如表格)表示 SQL 中的无序集。施加顺序的唯一方法是使用order byunion/union all 查询末尾的 order by 适用于整个查询。

顺便说一句,如果您使用 union all,您的代码将接近工作 - 这比 union 更受欢迎。 union 操作执行额外的工作来删除重复项。在这种情况下,这会重新排序结果,这是一个方便的提醒,您只能在使用 order by 时依赖结果的顺序。

关于mysql - 如何在排序其余部分时将元组与 sql 排序隔离开来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29784942/

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