gpt4 book ai didi

postgresql - 如何按列的内容对表进行排序

转载 作者:行者123 更新时间:2023-11-29 13:39:02 25 4
gpt4 key购买 nike

对于学校,我必须编写一个查询,返回球员的姓名和平均罚款(如果他们被罚款,否则该列应包含“geen boetes”)。拥有“geen boetes”的球员必须排在第一位,然后我必须按名字平均排序。我现在拥有的代码如下:

select 
s.naam,
case
when avg(bedrag) is null then 'geen boetes'
else cast(round(avg(bedrag), 2) as varchar(8))
end as gemiddeld
from spelers s
left outer join boetes b using (spelersnr)
group by s.spelersnr, s.naam
order by
case
when gemiddeld like 'geen boetes' then 1
else s.naam, gemiddeld
end

除了我无法正常工作之外,一切都按预期进行。

最佳答案

The players with 'geen boetes' must come first then I have to order by name, average

考虑:

order by 
case when gemiddeld = 'geen boetes' then 0 else 1 end,
s.naam,
gemiddeld

这会创建三个级别的排序,每个级别对应一个排序标准。

就 Postgres 而言,它支持 order by 子句中的列别名。但是,如果不支持该表达式,则可以使用以下内容:

order by 
case when avg(bedrag) is null then 0 else 1 end,
s.naam,
gemiddeld

关于postgresql - 如何按列的内容对表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58146321/

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