0

ですから、私の質問のタイトルはあまり関連性がないかもしれませんが、SQLが苦手で、確実に学ぶ必要があります(したがって、いくつかの本のヒントは非常に役立ちます)

とにかく私は次の(重要な)列を持つテーブルを手に入れました:

user_id,username,revenue

そしてこのような記録:

1,john,39
2,mark,53
3,philipp,7
1,john,17
2,mark,3
2,mark,100

最大の収益を持つユーザーを取得する必要があるため、すべての行を取得し、合計収益を計算して、合計で最大の収益を持つユーザーを印刷する必要があります。

ヒント;)?

4

1 に答える 1

3

あなたが使用することができORDER BYますLIMIT

SELECT user_id, username, SUM(revenue) FROM table
GROUP BY user_id /* add ', username' ONLY if two different usernames with the same user_id is a possible case */
ORDER BY SUM(revenue) DESC
LIMIT 0,1

これにより、各ユーザーの収益を計算し、合計を減らして注文し、最初の1つだけを取得して、収益が最も高くなるようにします。

于 2013-01-29T11:05:15.827 に答える