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';
我有一个 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';