MySQL查询优化-单个查询限制
由于访问受限,我一次只能运行一个查询。我经常需要对数十个ID运行类似于下面的查询。一个接一个地,这变成了一项相当耗时的任务MySQL查询优化-单个查询限制,mysql,sql,Mysql,Sql,由于访问受限,我一次只能运行一个查询。我经常需要对数十个ID运行类似于下面的查询。一个接一个地,这变成了一项相当耗时的任务 UPDATE table1 SET columnA = X, columnB = (SELECT max(columnC) FROM table2 WHERE id = <ID>) WHERE id = <ID> 你可能想试试这个 对于T-SQL: UPDATE a SET a.columnA = X,
UPDATE table1
SET columnA = X,
columnB = (SELECT max(columnC) FROM table2 WHERE id = <ID>)
WHERE id = <ID>
你可能想试试这个 对于T-SQL:
UPDATE a
SET a.columnA = X,
a.columnB = max(b.columnC)
FROM table1 a INNER JOIN table b ON a.id = b.id
WHERE a.id IN ('ID','HERE',...)
更新
对于MySQL:
UPDATE table1 a INNER JOIN
(SELECT id, Max(columnC) As iMax
FROM table12
GROUP BY id) b ON a.id = b.id
SET a.columnA = X,
a.columnB = b.iMax
WHERE a.id IN ('ID','HERE',...)
试试贝沃。请做必要的更改,因为我已经解释了正确的方法
UPDATE table1 as t1 INNER
JOIN (
SELECT id
, Max(columnC) As maxval
FROM table12
GROUP
BY id
) As t2 ON t1.id= t2.id
SET columnA = t1.x
FROM columnB = t2.maxval
WHERE id = <ID>
这两个表中都有关系吗?表1和表2有id列。id在两个表中都用作主键。我得到“组函数的使用无效”。
UPDATE table1 as t1 INNER
JOIN (
SELECT id
, Max(columnC) As maxval
FROM table12
GROUP
BY id
) As t2 ON t1.id= t2.id
SET columnA = t1.x
FROM columnB = t2.maxval
WHERE id = <ID>