【问题标题】:SQL Update Table Where date = MIN(date)SQL 更新表 其中 date = MIN(date)
【发布时间】:2017-03-03 11:19:46
【问题描述】:

我得到以下代码:

Update `Table` set amount='1003' WHERE date = (SELECT MIN(date)) AND `id` = 736

我的第一个 Where 规则 date = (SELECT MIN(date)) 有问题,但我不知道是什么。

【问题讨论】:

  • 这是 MySQL 吗?请使用您的 DBMS 进行标记。此外,您的选择语句应该来自一个表,即select min(date) from sometable
  • 您的子查询中需要... FROM MyTable
  • 根据可怕的反引号的使用添加了mysql标签
  • 你的金额是 VarChar 或者你为什么要set amount='1003'
  • 类型是 int .... 但这不应该是问题所在。如果我只使用查询 Where id = 736

标签: mysql sql min


【解决方案1】:

您可以从连接中更新它:

Update `Table` a
INNER JOIN (
    SELECT `id`, min(exp_date) AS exp_date from `Table` WHERE `id`= 736
) AS b ON (a.id=b.id AND a.exp_date=b.exp_date)
set amount='1003'
WHERE a.id = 736 AND a.exp_date=b.exp_date;

【讨论】:

  • 完美运行!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-25
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多