基本上我有这样的事情:

UPDATE

Table

SET

Table.col1 = other_table.col1,

FROM

Table

INNER JOIN

other_table

ON

Table.id = other_table.id

问题是我想用如下选择来更新col1:

SELECT SUM(col1) FROM other_table WHERE Table.id = other_table.id AND period > 2011

编辑

正确答案:

UPDATE bestall

INNER JOIN (SELECT bestid,SUM(view) as v,SUM(rawView) as rv

FROM beststat

WHERE period > 2011 GROUP BY bestid) as t1

ON bestall.bestid = t1.bestid

SET view = t1.v, rawview = t1.rv

解决方法:

您不能在set子句中直接使用聚合.解决该问题的一种方法是子查询:

update your_table as yt

left join

(

select id

, count(*) as cnt

from other_table

where period < 4

group by

id

) as ot

on yt.id = ot.id

set col1 = coalesce(ot.cnt,0)

标签:sql,mysql

来源: https://codeday.me/bug/20191201/2080765.html

mysql update field_mysql-更新表与另一个选择,但字段是SUM(someField)相关推荐

  1. mysql set 子表,mysql update set 更新表数据

    1.update ...set...where... 题目:修改students id=2的name为"yanxia" mysql>update  students  set ...

  2. mysql update 联合更新_Mysql update多表联合更新的方法小结

    下面我建两个表,并执行一系列sql语句,仔细观察sql执行后表中数据的变化,很容易就能理解多表联合更新的用法 student表 class表 1. 执行 UPDATE student s , clas ...

  3. mysql update join 锁表_Mysql事务中Update是否会锁表?

    两种情况: 1.带索引 2.不带索引 前提介绍: 方式:采用命令行的方式来模拟 1.mysq由于默认是开启自动提交事务,所以首先得查看自己当前的数据库是否开启了自动提交事务. 命令:select @@ ...

  4. mysql frm 没有myd_MySQL表只对应一个.frm文件,没有.MYD 和.MYI文件

    今天在学习MySQL的时候,发现新建一个数据库表的时候,表只对应一个.frm文件,却没有.MYD 和.MYI文件. 经过一番查找之后才发现,我本地的MySQL存储表的时候,使用的默认数据库存储引擎是I ...

  5. mysql update批量更新_MySql中4种批量更新的方法

    mysql 批量更新共有以下四种办法 1..replace into 批量更新 replace into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,' ...

  6. jsp mysql更新表数据库_一个关于JSP更新数据库MySQL中的表的问题!

    程序很简单,从上一个JSP页面中传入当前页面一个字符串,通过Request.getParameter("userName")获取到以后,打开数据库中的一张表,用获取到的字符串替换表 ...

  7. mysql update join 更新_mysql多表join时候update更新数据的方法 | 很文博客

    如果item表的name字段为''就用resource_library 表的resource_name字段前面加上字符串Review更新它,他们的关联关系在表resource_review_link中 ...

  8. mysql 基于一张表更新_MySQL更新表基于另一个表的值

    我有两个桌子, 这是我的第一张桌子, ID      SUBST_ID        CREATED_ID 1       031938          TEST123 2       930111 ...

  9. mysql用存储过程更新表_如何创建存储过程以更新MySQL表中的值?

    我们可以使用IN运算符创建一个存储过程来更新MySQL表中的值.为了理解它,我们以一个名为" student_info"的表为例,该表包含以下数据:mysql> Select ...

最新文章

  1. python自定义函数和类并调用
  2. 【Linux 内核 内存管理】优化内存屏障 ② ( 内存屏障 | 编译器屏障 | 处理器内存屏障 | 内存映射 I/O 写屏障 )
  3. telnet 22正常 ssh无法连接_Telnet咋就不安全了呢?带你来看用户名和密码
  4. axis2开发webservice之编写Axis2模块(Module)
  5. python图片保存需要在图片展示后_用python处理图片之打开\显示\保存图像的方法...
  6. 华北计算机系统工程研究所录取名单,2018年华北计算机系统工程研究所接收推免研究生复试录取通知...
  7. Jsp 中taglib标签的妙用
  8. 如何开始在 Mac 上使用快捷方式?
  9. 打开catia界面全是白色怎么办_别输在细节上!CATIA零件表面写字技巧
  10. MySQL 数据库简介
  11. MongoDB可视化管理工具-Robo 3T
  12. 不要被后端糊弄了,我来告诉你网关是什么
  13. DCDC Buck电源芯片选型
  14. win10 右下角输入法乱跳
  15. 计算机开机反复启动,电脑开机一直无限重启怎么解决
  16. python爬取b站视频封面_学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面...
  17. L1-022 奇偶分家(c)
  18. 以Docker方式安装和配置Kong网关和Konga控制台
  19. PointNetGPD 代码复现,环境配置,结果展示
  20. Flutter 如何监听页面在前台还是后台

热门文章

  1. 网络流与线性规划24题(写了一半,先鸽下了……)
  2. P2906 [USACO08OPEN]Cow Neighborhoods G 切比雪夫距离 + 并查集 + set
  3. 2021牛客暑期多校训练营6 :D Gambling Monster 期望dp + fwt + cdq分治
  4. HDU - 6756 Finding a MEX-分块思想
  5. I - Triple HDU - 5517
  6. P4009 汽车加油行驶问题
  7. 【2018.4.21】模拟赛之二-ssl2403 蜡烛【贪心】
  8. 有上下界网络流问题汇总
  9. SDOI2018 物理实验
  10. HDU5129 - Yong Zheng's Death