用户在mysql组中的最后一个事务

时间:2014-11-13 20:01:16

标签: mysql sql

我有交易表,我在其中存储交易用户。 我需要用户最后一笔交易。什么是userId查找最后n个事务组的最佳方法。 要么 将最后n个事务存储在其他元表中是好方法。 Plz帮助我,因为我必须以用户方式向客户发送最后10个交易。

什么是最佳解决方案。我正在使用mysql数据库。

我们如何创建每个用户的最后10个交易的视图......是否可能?

1 个答案:

答案 0 :(得分:0)

你可以使用变量来做到这一点。

为每个用户事务分配row_number,结果按事务日期排序,因此我们每个用户只能获得前10行。

select * from (
select *,
  @num := if(@user_id= user_id, @num + 1, 1) as row_number,
  @user_id := user_id as dummy
from transactions,
(select @num := 0, @user_id:= '') d
order by user_id, transDate desc )T
where row_number <= 10;