文章詳情頁
mysql - 把一個表中的數據count更新到另一個表里?
瀏覽:158日期: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. css - 如何使用 vue transition 實現 ios 按鈕一樣的平滑切換效果2. angular.js - angular內容過長展開收起效果3. docker安裝后出現Cannot connect to the Docker daemon.4. 反射 - Python中,有控制函數流程和上下文的辦法么?5. python簡單的問題,智商不夠用了。。。6. python - pymysql建立連接出錯7. linux - 升級到Python3.6后GDB無法正常運行?8. 調用百度翻譯API,在JAVA項目可以翻譯,在android中卻不行。求助9. javascript - 前端怎樣實現圖片剪切一部分上傳呢?像微信或者QQ上傳那樣呢?用的啥技術10. 關于python切片的問題
排行榜
