次のような users_preferred_zips というテーブルがあります。
username | price | zip | program | active
-----------+---------+---------+-----------+---------
joe | 5 | 92108 | dog | 1
tom | 7 | 92108 | dog | 1
mary | 5 | 92108 | dog | 1
paul | 6 | 92108 | dog | 1
ron | 6 | 92108 | dog | 1
次のようなusersという別のテーブルがあります
username | balance
-----------+----------
joe | 10
tom | 12
mary | 2
paul | 14
ron | 3
users_preferred_zips
テーブルから 5 以上の値を持つテーブルusername
から最大 3 つの値を引き出して合計するクエリが必要です。何らかの操作を行う必要があることはわかっていますが、以下のクエリが機能しません。ここに私が持っているクエリがあります:users
balance
inner join
SELECT SUM(price) AS SumOfTopValues
FROM (
SELECT users_preferred_zips . * , users.last_purchase, users.lesson_type, users.pref_acct_balance
INNER JOIN users ON ( users_preferred_zips.username = users.username )
WHERE users_preferred_zips.zip = '92108'
AND users_preferred_zips.program = 'dog'
AND users_preferred_zips.active = 1
AND users.pref_acct_balance >= '5'
ORDER BY price DESC
LIMIT 3
) AS sub
したがって、正しいクエリは次のようになります。
3 最高:
joe | 5
tom | 7
paul | 6
3 つの最高値の合計 = 18
これはかなり単純なはずですが、苦労しています!ご協力いただきありがとうございます