您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

每组产生n行

每组产生n行

对于支持分析功能\窗口功能的任何数据库,这都相对容易

select *
  from (select type, 
               variety, 
               price,
               rank() over ([partition by something]
                            order by price) rnk
          from fruits) rank_subquery
 where rnk <= 3

如果您省略,则将[partition by something]获得总体排名前三的行。如果您希望每个都排在前三位type,则可以使用partition by typerank()函数

根据您想要处理领带的方式,可能要使用dense_rank()row_number()而不是rank()。如果两行使用并列rank,则下一行将具有rnk3的值,而下一行将具有rnk2的值dense_rank在这两种情况下,两个绑定行的arnk均为1。row_number任意将两个绑定行a的a设为rnk1,将另一个arnk设为2。

其他 2022/1/1 18:53:25 有434人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶