最近要處理幾個表的數據統計與錯誤數據的更新處理,一新來的伙伴寫了幾條sql更新處理語句,對于小量數據處理沒問題,但是如果幾萬數據處理是非常的慢,只拿來了看看.
聯合查詢回復數,代碼如下:
- SELECT ask.id, count( answer.father_id ) , ask.answer_num
- FROM `表名_ask` AS ask
- LEFT JOIN `表名_answer` AS answer ON ask.id = answer.father_id
- GROUP BY answer.father_id
- ORDER BY ask.id ASC
修改城市ID,代碼如下:
- UPDATE 表名_ask SET cityid =
- (
- SELECT cityid
- FROM 表名
- WHERE 表名_ask.borough_id = 表名.id
- ORDER BY id ASC LIMIT 0, 1
- )
修改回復數,代碼如下:
- UPDATE 表名_ask SET answer_num =
- (
- SELECT count( 表名_answer.father_id )
- FROM `表名_answer`
- where 表名_ask.id = 表名_answer.father_id
- GROUP BY 表名_answer.father_id
- ORDER BY 表名_ask.id ASC
- LIMIT 0 , 1
- ) //開源代碼Vevb.com
最后:建議一下如果有可能我們還是把sql分開來處理這樣會更好一些,本站原創文章轉截必須注明來源http://m.survivalescaperooms.com.
新聞熱點
疑難解答