mysql 子查询有问题

Trouble with mysql subquery

我有一个 table 具有以下值:姓名、街道、我想要的、值、日期。

我需要组合姓名、街道、身份证并按日期制作 2 个子组。我想比较具有相同名称、街道和 ID 但日期不同的行中的值。并且只写那些具有不同值的

示例:

Mike,街道 1,idtag,5,11.5.2022

Mike,街道 1,idtag,10,10.5.2022

我想写名字,街道,id组合的差值。

我尝试过的所有解决方案都很长

d您可以在此处使用聚合方法。假设您要标记在不同日期有 2 条或更多条记录的任何姓名、街道和 ID 组合,您可以尝试:

SELECT name, street, ID, MAX(val) - MIN(val) AS diff
FROM yourTable
GROUP BY name, street, ID
HAVING MIN(date) <> MAX(date);

要将此逻辑用于(唯一)日期值已知的一对特定记录,请使用此版本:

SELECT name, street, ID, MAX(val) - MIN(val) AS diff
FROM yourTable
GROUP BY name, street, ID
HAVING MIN(date) = '2022-05-10' AND MAX(date) = '2022-05-11';