文章詳情頁
mysql - 把一個表中的數(shù)據(jù)count更新到另一個表里?
瀏覽:141日期: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表是評論一個網站對應多個評論現(xiàn)在想把評論的數(shù)量統(tǒng)計出來直接更新到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表數(shù)據(jù)更新了你都要那count重新寫入site?這樣不麻煩嗎?如果你只是想統(tǒng)計每個site的評論數(shù)。每次查詢的時候像你之前那樣鏈表就行了
回答2:count是聚合函數(shù),直接這樣寫是不行的。你可以先把所有的數(shù)量查出來,然后直接在update的時候set commentcount=總數(shù)
相關文章:
1. docker網絡端口映射,沒有方便點的操作方法么?2. css - chrome下a標簽嵌套img 顯示會多個小箭頭?3. vim - docker中新的ubuntu12.04鏡像,運行vi提示,找不到命名.4. javascript - 網頁打印頁另存為pdf的代碼一個問題5. java中返回一個對象,和輸出對像的值,意義在哪兒6. mysql - 在不允許改動數(shù)據(jù)表的情況下,如何優(yōu)化以varchar格式存儲的時間的比較?7. css3 - 純css實現(xiàn)點擊特效8. javascript - 關于apply()與call()的問題9. javascript - 有適合開發(fā)手機端Html5網頁小游戲的前端框架嗎?10. docker start -a dockername 老是卡住,什么情況?
排行榜

熱門標簽