文章详情页
mysql - 把一个表中的数据count更新到另一个表里?
浏览:127日期:2022-06-20 16:43:37
问题描述
UPDATE sites left join comments on comments.siteurl=sites.siteurl SET commentcount = count(comments.siteurl)
报错:#1111 - Invalid use of group function
sites是网站表comments表是评论一个网站对应多个评论现在想把评论的数量统计出来直接更新到sites
找到个方法了:
UPDATE sites A INNER JOIN (SELECT *, COUNT(*) idcount FROM comments GROUP BY siteurl) as B ON B.siteurl = A.siteurlSET A.commentcount = B.idcount
问题解答
回答1:为何要将count写入site表 那岂不是每次comment表数据更新了你都要那count重新写入site?这样不麻烦吗?如果你只是想统计每个site的评论数。每次查询的时候像你之前那样链表就行了
回答2:count是聚合函数,直接这样写是不行的。你可以先把所有的数量查出来,然后直接在update的时候set commentcount=总数
上一条:mysql多表查询的问题下一条:mysql优化 - 关于mysql分区
相关文章:
1. javascript - npm下载的模块不完整是什么问题?2. java - Spring事务回滚问题3. python运行后没有任何反馈要怎么排查4. css - 手机qq打开网页无法使用文件上传功能?5. node.js - 我想让最后进入数据库的数据,在前台最先展示,如何做到?6. wordpress - Nginx中禁止访问txt,robots.txt文件例外,规则该怎么写?7. 刚放到服务器的项目出现这中错误,有高手指点吗8. c++ - 如何在python的阻塞的函数中获取变量值9. python 操作mysql如何经量防止自己的程序在之后被恶意注入(说白了就是问一下python防注入的一些要点)10. mysql - 面试题:如何把login_log表转换成last_login表?
排行榜
