2016-11-06 3 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 -что-кажется к мне, чтобы быть-а-простейшими SQL-запрос – Strawberry

ответ

3

Да, используйте limit и не группу по сумме:

select `user` 
    , sum(`amount`) as s 
from (
    select * 
    from `transactions` 
    order by `amount` desc 
    limit 10 
) t group by `user` 
Смежные вопросы