mysql查询以降序从表中减去

时间:2013-06-16 06:50:28

标签: mysql sql

table design

以上是我的表格设计,我需要从“单位”字段中减去值。我用过这个查询

update table SET unit=unit-3 where product='Ghee' ORDER BY date DESC

如果ghee字段的单位小于3,则上述查询会在<minus>中生成“单位”字段值。

以下是方案

unit   product   date  
1      ghee      2013-06-12 
3      ghee      2013-06-14

我需要从产品GHEE中减去3个单位

如果我使用此查询

update table SET unit=unit-3 where product='Ghee' ORDER BY date DESC

我需要从降序中减去。

1 个答案:

答案 0 :(得分:0)

你可以这样做吗?

UPDATE table SET 
    unit=unit-(
       SELECT TOP 1 unit 
       FROM table WHERE product = 'Ghee' ORDER BY UNIT DESC
    )
where product='Ghee'

它将删除“3”或单位中最高的值对于给定的产品。