mysql - 把一個表中的數(shù)據(jù)count更新到另一個表里?
問題描述
UPDATE sites left join comments on comments.siteurl=sites.siteurl SET commentcount = count(comments.siteurl)
報錯:#1111 - Invalid use of group function
sites是網(wǎng)站表comments表是評論一個網(wǎng)站對應多個評論現(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. css - 新手做響應式布局, 斷點過后右側(cè)出現(xiàn)空白,求幫助,謝謝。2. python - 啟動Eric6時報錯:’qscintilla_zh_CN’ could not be loaded3. javascript - 關于<a>元素與<input>元素的JS事件運行問題4. mysql - 查詢字段做了索引為什么不起效,還有查詢一個月的時候數(shù)據(jù)都是全部出來的,如果分拆3次的話就沒問題,為什么呢。5. mysql - 記得以前在哪里看過一個估算時間的網(wǎng)站6. 大家好,我想請問一下怎么做搜索欄能夠搜索到自己網(wǎng)站的內(nèi)容。7. ID主鍵不是自增的嗎 為什么還要加null8. MySQL中的enum類型有什么優(yōu)點?9. python - 安裝pyspider時出錯:No space left on device:10. javascript - vue 怎么渲染自定義組件
