比较重复表中的值
P粉811329034
P粉811329034 2023-09-13 08:52:32
0
2
636

我有一个查询,它从较大的数据集中生成重复记录表,并且我希望能够对此输出数据进行进一步分析。

下面是一个可以使用的示例。

我希望能够针对各个属性识别该属性的最旧评级低于 50 但最新评级现在大于 70 的实例。

在下面的示例中,只有与属性 17 相关的评级才符合此条件,因此将提取包含 Reference jygh 的行。

参考 属性地址 日期 评分
阿德夫 属性12 2022-12-08 70
噘嘴 属性12 2022-12-16 90
mhef 属性17 2023-01-02 25
jygh 属性17 2023-01-09 70
男孩 属性22 2022-10-05 85
qepl 属性22 2022-10-25 28

这是对随时间变化的专门分析,因此仅对评级进行最大/最小比较是不够的。

编辑:我编辑了数据示例以显示评级值下降,这不符合标准。

P粉811329034
P粉811329034

全部回复(2)
P粉141925181

只有在不考虑日期的情况下,此方法才有效:

select PROPERTYADDRESS
from TABLE1
where RATING <= 50
and PROPERTYADDRESS in (
 select PROPERTYADDRESS
 from TABLE1
 where RATING >= 70
);

在这里查看:https://dbfiddle.uk/6yoRNP74

P粉068510991

这将考虑最旧和最新的费率:

SELECT mt.PROPERTYADDRESS    
FROM TABLE1 mt 
INNER JOIN
    (
        SELECT PROPERTYADDRESS, MIN(Date) AS MinDate
        FROM TABLE1
        GROUP BY PROPERTYADDRESS
    ) t ON mt.PROPERTYADDRESS = t.PROPERTYADDRESS AND mt.DATE = t.MinDate
 WHERE RATING <= 50
 AND mt.PROPERTYADDRESS in (
     SELECT mt.PROPERTYADDRESS 
     FROM TABLE1 mt 
     INNER JOIN
        (
            SELECT PROPERTYADDRESS, MAX(Date) AS MaxDate
            FROM TABLE1
            GROUP BY PROPERTYADDRESS
        ) t ON mt.PROPERTYADDRESS = t.PROPERTYADDRESS AND mt.DATE = t.MaxDate
     WHERE RATING >= 70
);

在这里检查:https://dbfiddle.uk/XzEIlvKc

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板