2016-11-06 57 views
-2

我有一个名为交易的mysql表,并具有以下字段:user(varchar),amount(float)。限额总和只在前10个金额

我希望做一团通过这样

select `user` 
    , sum(`amount`) as s 
from (
    select * 
    from `transactions` 
    order by `amount` desc 
) t group by `user`, s 

,但我想限制只在排名前10位的量的总和。
是否有可能做到这一点与普通的SQL?

+0

见http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for - 什么,似乎对我将要-A-极简单的SQL查询 – Strawberry

回答

3

是,使用limit,并通过和不群:

select `user` 
    , sum(`amount`) as s 
from (
    select * 
    from `transactions` 
    order by `amount` desc 
    limit 10 
) t group by `user`