2

これは簡単なはずですが、今日は私の日ではありません。

私はこのようなテーブルを持っています

user     |  points     
---------|------------
Smith    |    100
Neo      |    200
Morpheus |    300
Smith    |    100
Neo      |    200
Morpheus |    300

そして私が探している選択はこれを生み出すでしょう

user     |  points     
---------|------------
Morpheus |    600
Neo      |    400

そこで、合計300ポイント以上のユーザーを印刷したいのですが、合計で高いものから低いものへと並べ替えて印刷したいと思います。

私が使用しているもの:

$ mysql -V
mysql  Ver 14.14 Distrib 5.1.61, for redhat-linux-gnu (x86_64) using readline 5.1

私が試しているSQLは次のとおりです。

SELECT user, SUM(points) AS sum FROM users GROUP BY user HAVING SUM(points)>300

これにより、すべての正しい出力が得られますが、ソートされた出力は得られません。そして、私はORDER BYを挿入しようとしましたが、運が悪かったです。

4

2 に答える 2

4
SELECT user, SUM(points) AS sum 
FROM users 
GROUP BY user 
HAVING sum > 300
order by sum desc
于 2012-05-03T12:03:07.057 に答える
0

ただあるべき

SELECT user, SUM(points) AS sum FROM users GROUP BY user HAVING SUM(points)>300 
ORDER BY SUM(points) DESC

私が何かを逃していない限り

于 2012-05-03T12:05:03.970 に答える