为MySQL中的每个唯一值获取/限制N个结果

时间:2018-08-24 18:35:07

标签: mysql sql limit greatest-n-per-group

是否有一种简单的方法可以使用LIMIT子句为每个不同的唯一值仅提取前N个值?例如,如果每个public static Expression<Func<BidCountry, int?>> GetETimeData => !bidcountry.EeTimeOptionID.HasValue ? null : bidcountry.EeTimeOptionID.Value == 31 ? 2 : bidcountry.EeTimeOptionID.Value == 32 ? 4 : bidcountry.EeTimeOptionID.Value == 33 ? 8 : bidcountry.EeTimeOptionID.Value == 34 ? 16 : bidcountry.EeTimeOptionID.Value == 35 ? 32 : null; nba,nfl,mlb = [],[],[] A都有30个不同的数字行,那么我们如何只为每个{上拉5、8或N行{1}},BC

谢谢!

1 个答案:

答案 0 :(得分:0)

您似乎想要:

select t.*
from table t
where pk in (select t1.pk 
             from table t1 
             where t.value = t1.value 
             order by t1.pk -- asc/desc 
             limit 5
            );

对于最新版本,您可以使用row_number()函数。