文章詳情頁
mysql - 把一個表中的數據count更新到另一個表里?
瀏覽:90日期: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. node.js - webpack-dev-server正常運行,webpack打包卻出錯,怎么辦?2. mysql 5個left關鍵 然后再用搜索條件 幾千條數據就會卡,如何解決呢3. javascript - webpack編譯后的文件不生效,未編譯的文件生效4. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點5. 這是什么情況???6. thinkphp3 count()方法必須加上字段?7. 怎么php怎么通過數組顯示sql查詢結果呢,查詢結果有多條,如圖。我要forsearch里面echo8. 輸入地址報以下截圖錯誤,怎么辦?9. javascript - 項目的公共文件如圖片JS等文件放在 云上,webroot只放jsp文件,怎么將靜態文件通過配置文件引入,sp求大神指導10. python中return 語句與 分支語句連用問題
排行榜
