1
我有一個表SQL '而' 條件
CREATE TABLE dollars (
price decimal,
amount decimal
);
每個記錄具有價格(1,23美元)和量(0.2)。如何選擇記錄,直到金額不等於5或更多。
例如:
- 價格:4,量:2.5
- 價格:2,量:1.5
- 價錢:5,量:3
共3項與彙總金額7.
我有一個表SQL '而' 條件
CREATE TABLE dollars (
price decimal,
amount decimal
);
每個記錄具有價格(1,23美元)和量(0.2)。如何選擇記錄,直到金額不等於5或更多。
例如:
共3項與彙總金額7.
「價格」欄上是否有唯一鍵?
嘗試這樣:
SELECT
dol.id,
dol.price,
dol.amount,
(SELECT sum(amount) FROM public.dollars dol2 WHERE dol2.price <= dol.price) AS sum_amount
FROM
public.dollars dol
WHERE
(SELECT floor(sum(amount)) FROM public.dollars dol2 WHERE dol2.price <= dol.price) <= 5
ORDER BY price ASC;
當然你也可以「按訂單」的條件,如果你要選擇與例如記錄變化較低的ID,而不是價格。
我認爲需要一個WHERE條件而不是一段時間 類似於
SELECT * FROM dollars
WHERE amount < 5
我覺得你需要在哪裏條件。 雖然是一個循環運行,直到滿足條件。在這裏你不能指定這樣的條件。 –
你是指循環每個記錄和存儲數量總和?如果查詢從表中選擇隨機記錄,請使用定義良好的'where'子句 – luchosrock
?無論如何,解決方案是使用窗口函數。 – 2013-06-26 17:19:14