繁体   English   中英

mysql从每个组获取最后10条记录

[英]mysql get last 10 records from each group

我有一个名为ware_stock_transaction mysql表,它具有order_noorder_typecreated_dateitem_no

我想从每个项目中获取最后10条记录,如下所示:

item A (10 records)
item B (10 records)
item C (10 records)

在MySQL中,您可以使用变量:

select wst.*
from (select wst.*,
             (@rn := if(@i = item_no, @rn + 1,
                        if(@i := item_no, 1, 1)
                       )
             ) as rn
      from ware_stock_transaction wst cross join
           (select @rn := 0, @i := '') params
      order by item_no, created_date desc
     ) wst
where rn <= 10;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM