Mysql
如何使用 GROUP BY 從 JOIN 更新
在
SELECT
查詢SELECT b.id, MIN(IFNULL(a.views,0)) AS counted FROM table1 a JOIN table2 b ON a.id=b.id GROUP BY id HAVING counted>0
如何將此查詢轉換
UPDATE
為UPDATE b.number = counted
UPDATE table2 AS b1, ( SELECT b.id, MIN(IFNULL(a.views, 0)) AS counted FROM table1 a JOIN table2 b ON a.id = b.id GROUP BY id HAVING counted > 0 ) AS b2 SET b1.number = b2.counted WHERE b1.id = b2.id
UPDATE table2 INNER JOIN (SELECT MIN(IFNULL(table1.views,0)) counted FROM table1 GROUP BY table1.id HAVING counted>0 ) x ON x.id = table2.id SET table2.number = x.counted