Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于分组数据的特定mysql更新_Mysql_Sql_Join_Sql Update - Fatal编程技术网

基于分组数据的特定mysql更新

基于分组数据的特定mysql更新,mysql,sql,join,sql-update,Mysql,Sql,Join,Sql Update,这件事把我难住了 我有两张桌子: METERS id | startTime READINGS id | meter_id | readingTime 我要做的是在1 sql查询中将仪表.startTime更新为最低匹配读数.readingTime 我该怎么做?像这样: UPDATE Meters m INNER JOIN ( SELECT meter_id, MIN(reading_time) lowesttime FROM readings GROUP BY mete

这件事把我难住了

我有两张桌子:

METERS
id | startTime

READINGS
id | meter_id | readingTime
我要做的是在1 sql查询中将
仪表.startTime
更新为最低匹配
读数.readingTime

我该怎么做?

像这样:

UPDATE Meters m
INNER JOIN
(
   SELECT meter_id, MIN(reading_time) lowesttime
   FROM readings 
   GROUP BY meter_id
) r ON m.id = r.meter_id
SET m.starttime = r.lowesttime;
UPDATE METERS m SET startTime = (SELECT MIN(r.readingTime)
    FROM READINGS r
    WHERE r.meter_id = m.id)
WHERE m.id = your_id