1

1 つにマージする必要がある複数のテーブルがあります。

SELECT name, SUM(money) AS MONEY FROM transactions
JOIN results ON transactions.id = results.id
JOIN more ON results.per_id = more.per_id
GROUP BY name

出力は、人の名前 (最初の列) と人のお金 (2 番目の列) です。

name | money
aaron  1220
mike   800
john   200
kate   600

ここで、結果を金額でフィルタリングしようとしました。つまり、「Sum(money) > 500」の人の結果を表示します。

そのため、「WHERE money > 500 GROUP BY name」と入力してみましたが、出力が間違っていました (aaron 1000、mike 610 など)。

最終/最終結果をフィルタリングするクエリをどのように作成しますか?

4

2 に答える 2

4
Group By Name
having sum(money) > 500

編集:「最終/終了結果」とはどういう意味ですか?

于 2012-04-07T10:07:27.930 に答える
4

を 500 より大きくしたい場合は、次のSUM(money)ようにできます。

SELECT name, SUM(money) AS MONEY FROM transactions
JOIN results ON transactions.id = results.id
JOIN more ON results.per_id = more.per_id
GROUP BY name
HAVING SUM(money)>500
于 2012-04-07T10:09:31.043 に答える