2016-11-06 2 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` 
関連する問題