1. 程式人生 > >資料庫中同一張表進行count計數統計,並更新當前這張表的計數字段

資料庫中同一張表進行count計數統計,並更新當前這張表的計數字段

場景:需要在一張表中,統計電話號碼出現的次數,並更新計數。

方案一:在java中迴圈一條一條記錄執行(慢,還要寫程式碼)

方案二:一句sql完成update(實用,推薦)

如下圖,著重需要更新project_info表中count欄位(即phone重複次數統計):

sql如下,組合一下,然後連線查詢並更新資料

UPDATE project_info pi,
    (SELECT 
        phone, COUNT(*) count
    FROM
        project_info
    GROUP BY phone) re 
SET 
    pi.`count` = re.`count`
WHERE
    pi.phone = re.phone

因為平時實用場景中遇到過幾次,每次都卡殼糾結,期初用方案一,然後百度實戰出方案二

挺實用的技巧!記錄以備下次翻閱