SQL'while'条件

时间:2013-06-26 14:05:39

标签: sql ruby-on-rails ruby postgresql

我有一张桌子

CREATE TABLE dollars (
  price decimal,
  amount decimal
);

每条记录的价格(1,23美元)和金额(0.2)。如何在金额不等于5或更多时选择记录。

例如:

  1. 价格:4,金额:2.5
  2. 价格:2,金额:1.5
  3. 价格:5,金额:3
  4. 总计3项,总计金额为7。

2 个答案:

答案 0 :(得分: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;

当然,如果您想选择带有例如条件的记录,您可以更改“按顺序”条件较低的身份,而不是价格。

答案 1 :(得分:0)

我认为需要WHERE条件而不是一段时间

之类的东西
   SELECT * FROM dollars 
   WHERE amount < 5