Possible Duplicate:
How to select maximum 3 items per users in MySQL?
我有一个包含3列的sql表:
客户编号、项目、计数
此表中大约有125个项目;每行包含客户编号、项目编号和客户购买项目的次数。
我想询问每位顾客及其前三名。我该怎么做呢?
最佳答案
set @i := 0;
set @cn = -1;
select CustomerNumber, Item, `Count`
from (
select CustomerNumber, Item, `Count`,
case when CustomerNumber != @cn then @i := 0 else @i := @i + 1 end as i,
@cn := CustomerNumber
from t
order by CustomerNumber, `Count` desc
) ss
where i < 3