Mysql 对每个ID执行通常在单个ID上运行的查询

Mysql 对每个ID执行通常在单个ID上运行的查询,mysql,Mysql,所以我有一个疑问: SELECT ABS( TIMESTAMPDIFF(MINUTE, NOW(), (SELECT MAX(`Time`) FROM ddHistorical WHERE ID = '5') ) ) 我想在数据库中的每个ID上运行它,我将如何执行此操作?尝试以下操作:- SELECT ABS(TIMESTAMPDIFF(MINUTE, NOW(), (SELECT MAX(`Time`) FROM ddHistorical 这很有效

所以我有一个疑问:

SELECT ABS(
    TIMESTAMPDIFF(MINUTE, NOW(),  
        (SELECT MAX(`Time`) FROM ddHistorical WHERE ID = '5')  
    )
)
我想在数据库中的每个ID上运行它,我将如何执行此操作?

尝试以下操作:-

SELECT ABS(TIMESTAMPDIFF(MINUTE, NOW(), (SELECT MAX(`Time`) FROM ddHistorical
这很有效


你是说表中的所有记录,那么为什么不跳过where子句。。。或者说where 1=1 remove where ID='5'@skv:实际上我已经试过了。它返回:子查询返回多行。0 7 17:25:01选择ABSTIMESTAMPDIFFMINUTE,现在,按ID限制从ddHistorical组中选择MAXTime 0,1000错误代码:1242子查询返回多行ddHistorical表包含大量PK'd off ID的行。报告了什么?我没有粗鲁,我只是在问你,你应该在你的问题中报告这个问题,两个拥有超过10K声誉的人给了你一个明显的建议,你应该报告你在你的问题中尝试了什么。。。我一点也不粗鲁。。我的评论有什么不礼貌的?谢谢你在这一点上的帮助。你能告诉我如何使用这个查询获取所有其他列吗?我一直在阅读,但子查询让我抓狂。不客气,请选择id,ABS TIMESTAMPDIFFMINUTE,现在,从ddHistorical中选择MAXTime,其中id=a.id按id分组作为时间,因为从ddHistorical中,按id分组给出id和时间,您还需要哪些列,请记住,您需要按要添加到字段列表中的每个字段分组
  SELECT Abs(Timestampdiff(minute, Now(), (SELECT Max( ` time ` ) 
                                         FROM   ddhistorical 
                                         WHERE  id = a.id 
                                         GROUP  BY id))) 
FROM   ddhistorical AS A 
GROUP  BY id