我有一个select语句SELECT item, quantity FROM sometable
,它返回以下数据:
Item Quantity
21 23
22 12
23 15
是否可以减去1,较小的项目数量(使用SQL语句)。在上面的场景中,第22项的数量应该变为11。
使用语句SELECT item, quantity FROM sometable ORDER BY quantity LIMIT 1
,我获得数量最少的行。现在我希望能够使用UPDATE语句从中减去1,该语句使用select语句中的值。
我目前正计划通过PHP查询表值并通过它们循环来实现这一目的。
可以通过构造UPDATE SQL语句直接完成吗?
答案 0 :(得分:2)
update your_table
set quantity = quantity - 1
where item = (SELECT item FROM your_table ORDER BY quantity LIMIT 1)