1

私はテーブルを持っています

CREATE TABLE dollars (
  price decimal,
  amount decimal
);

各レコードには、価格 (1,23 USD) と金額 (0.2) があります。金額が 5 以上に等しくなるまでレコードを選択する方法。

例えば:

  1. 価格: 4、数量: 2.5
  2. 価格: 2 、金額: 1.5
  3. 価格: 5、数量: 3

合計 3 項目で合計金額 7。

4

2 に答える 2

1

「価格」列に一意のキーはありますか?

次のようなことを試してください:

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 の低いレコードを選択したい場合は、"order by" 条件を変更できます。

于 2013-06-26T14:40:28.117 に答える
0

次のようなものではなく、WHERE条件が必要だと思います

   SELECT * FROM dollars 
   WHERE amount < 5
于 2013-06-26T14:32:02.787 に答える