我有一个类似的查询:
select *
from combined
where valid_rating is null
order by FIND_IN_SET(provider,
(select provider
from combined
where valid_rating is null group by provider order by count(1) desc)
)
基本上,我试图先按“最重要的”排序provider
(项目数最多的)。我该如何使用order_by
子句中的表达式正确地做到这一点,甚至可能使用窗口函数?
使用
count()
窗口函数,按提供者进行分区:与返回计数的子查询连接,然后按计数排序。