上記の商品の商品と価格をまとめた表があります。値段の高い3つのアイテムの合計を取得したいと思います。
おそらくSELECT SUM(items.price) FROM items ORDER BY items.price LIMIT 3
だと思っていましたが、それではうまくいかないようです。これは可能ですか?ありがとう!
select sum(price) from (select items.price from items order by items.price desc limit 3) as subt;
LIMIT
はクエリによって返される行数に影響し、SUMは1つだけを返します。 this thread に基づいて、試してみてください:
SELECT sum(price)
FROM (SELECT price
FROM items
ORDER BY price DESC
LIMIT 3
) AS subquery;
副選択を使用するだけです:
select sum(prices) from (SELECT SUM(items.price) FROM items ORDER BY items.price LIMIT 3) as prices
サブクエリなどを使用します。実際のクエリはテストしていません。
SELECT SUM(items.price) from (select price FROM items ORDER BY items.price LIMIT 3)
私はこれをテストしておらず、記憶に書き込んだだけです。あなたは次のようなことを試すことができます:
SELECT * AS total FROM items ORDER BY price DESC
SELECT SUM(price) FROM total LIMIT 3;
編集:私は遅かった