gpt4 book ai didi

sql - Postgresql首先显示特定值,按不同标准排序

转载 作者:行者123 更新时间:2023-11-29 12:09:41 24 4
gpt4 key购买 nike

在这个小练习中,我需要先展示来自“Zoetermeer”的人,然后按姓名排序,同名的人需要按“bondsnr”(这是一个唯一编号)排序,地点不是“Zoetermeer”的人只需要按“bondsnr”排序。

select spelersnr, naam, plaats, bondsnr
from spelers
where bondsnr is not null
order by case when plaats = 'Zoetermeer' then 1
else 2 end,
bondsnr

这是我现在所拥有的,但它不正确,我似乎找不到解决方案。首先对“Zoetermeer”中的人进行排序,但我不知道如何按编号对具有相同姓名的人进行排序

编辑

spelersnr   naam       plaats      bondsnr    
27 Cools Zoetermeer 2513
104 Moerman Zoetermeer 7060
44 Bakker, de Rijswijk 1124
112 Baalen, van Rotterdam 1319
83 Hofland Den Haag 1608
2 Elfring Den Haag 2411
8 Niewenburg Rijswijk 2983
57 Bohemen, van Den Haag 6409
100 Permentier Den Haag 6524
6 Permentier Den Haag 8467

这是应该的。我的回答显示相同的结果,但不正确。我想是因为如果他们住在同一个地方,我不会按名字点菜

最佳答案

您不仅可以按单个列对查询进行排序,还可以按 records 对查询进行排序.
因此,如果我正确理解您的要求:

select spelersnr, naam, plaats, bondsnr
from spelers
where bondsnr is not null
order by
case
when plaats = 'Zoetermeer' then
(1,naam,bondsnr)
else
(2,null::text,bondsnr)
end;

关于sql - Postgresql首先显示特定值,按不同标准排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43251242/

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