搜尋

首頁  >  問答  >  主體

比較重複表中的數值

我有一個查詢,它從較大的資料集中產生重複記錄表,我希望能夠對此輸出資料進行進一步分析。

下面是一個可以使用的範例。

我希望能夠針對各個屬性識別該屬性的最舊評級低於 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粉811329034P粉811329034455 天前620

全部回覆(2)我來回復

  • P粉141925181

    P粉1419251812023-09-14 07:27:06

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

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

    在這裡查看:https://dbfiddle.uk/6yoRNP74

    #

    回覆
    0
  • P粉068510991

    P粉0685109912023-09-14 00:56:13

    這將考慮最舊和最新的費率:

    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

    #

    回覆
    0
  • 取消回覆