看板 Book11
作者 標題 SQL 如何計算紀錄總數並更新到另一個表
時間 2011年06月22日 Wed. PM 11:14:21
http://www.jaceju.net/blog/archives/229
在 MySQL 4.1 以上版本怎麼把某個 table 的 COUNT 總數複製到另一個 table 對應的欄位裡呢?
假設這裡有 a 和 b 兩個 table ,其中 b 表有一個欄位 a_id 對應到 a 表的 id 主鍵,而 a 表有個欄位 total 要記錄在 b 表中屬於 a 表的記錄總共有多少筆。一直記得 SQL 可以很簡單做到,可以一下子就是想不起來。
感謝 Neo 一語驚醒夢中人,用 Sub Query 就搞定了:
UPDATE a, (SELECT a_id, COUNT(*) AS total
FROM b
GROUP BY a_id) AS c
SET a.total = c.total
WHERE a.id = c.a_id;
--
※ 作者: book11 時間: 2011-06-22 23:14:21
※ 看板: Book11 文章推薦值: 0 目前人氣: 0 累積人氣: 71
回列表(←)
分享