mysql查询以降序从表中减去

标签 mysql sql

table design

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

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

上述查询使“unit”字段值位于 <minus> 中,如果酥油字段单位小于3..

这是场景

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

我需要按降序减去。

最佳答案

你能做这样的事情吗?

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

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

关于mysql查询以降序从表中减去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17130914/

相关文章:

java - 使用java转储mysql数据库

mysql - 如何更新仅依赖于时间戳的 mysql 数据库列?

mysql - SQL选择一组的最大值

php - 如何根据表头和第一行值的组合在表格单元格中放置值?

mysql - SQL 金钱列

c# - SQLite 自动递增问题

mysql - 如何在mysql查询中选择UNIX date = "2010"?

java - 在 '? WHERE Reg = ?' 附近使用的正确语法

SQL Server 日期时间转换问题

php - 如何使用 PDO 将二进制数据插入 MSSQL