mysql怎么对每个group只选2行?

  算法/数据结构/数据库 mysql    浏览次数:2122        分享
0

mysql怎么对每个group只选2行?类似于group by group_id然后limit 2的意思。

谢谢!

 

徐锐达   2019-07-22 10:48



   1个回答 
4

因为最近一直在写MSSQL,不过百度了下基本用法是差不多的,LZ可以尝试下窗口函数

    假设table表有id,salary两列,id:A,A,A,B,B,B;salary:100,200,300,400,500,600

    按照LZ意思就是只输出100,200和400,500这两个"group"。

即:

select  * from

    (

    select id, row_number() over(partition by id order by salary) as level from table

)

where level <= 2


SofaSofa数据科学社区DS面试题库 DS面经

Pan   2019-07-23 16:23

谢谢! - 徐锐达   2019-07-25 22:55


  相关讨论

sql里where和having的区别是什么?

SQL里UNION和UNION ALL的区别是什么?

sql里cross join有什么作用?

mysql如何获得某字段的最大值所在行?

mysql中如何互换一列中的两个值?

增量表、全量表分别是什么意思

mysql里select选择时候需要一列包含特定文本?

NoSql数据库是什么样的?

如何给mysql的表增加一列?

mysql数据库中怎么从一个表里随机抽取k行?

  随便看看

非方阵的逆是什么

除了PCA,还有什么降维的方法?

python里怎么表示科学计数法?

怎么利用permutation importance来解释xgboost模型的特征?

T检验的effect size是什么?有什么含义吗?