我有一個 SQL 場景,我想從表中回傳 2 周或更早的記錄,但前提是沒有其他最近具有相同連接的記錄。下面是兩張表:
主表:
ID | SECONDARYID | CREATION_DATE | DESCRIPTION
---------------------------------------------------
輔助表:
ID | NAME | PHONE_NUMBER ....
---------------------------------------------------
主表有以下記錄:
ID | SECONDARYID | CREATION_DATE | DESCRIPTION
---------------------------------------------------
3 | 305 | 2022-01-14 | some other description
2 | 300 | 2022-01-10 | some 2nd description
1 | 300 | 2022-01-01 | some description
到目前為止,我有以下查詢。
SELECT DISTINCT *
FROM PRIMARY
JOIN SECONDARY ON PRIMARY.SECONDARYID = SECONDARY.ID
WHERE PRIMARY.CREATIONDATE BETWEEN (NOW() - INTERVAL 14 DAY) AND NOW()
它從主表回傳 ID 為 1 的記錄。但是,我想更新此查詢,以便它不會回傳該記錄,因為有一個更新的條目具有相同的輔助 ID,并且不超過 2 周。請協助。
uj5u.com熱心網友回復:
creation_date您可以使用 max per內部連接到一個表,secondaryid以確保您只有最新的creation_date
SELECT DISTINCT *
FROM PRIMARY
JOIN SECONDARY ON PRIMARY.SECONDARYID = SECONDARY.ID
inner join (
select
secondaryid
, max(creationdate) maxdate
from PRIMARY
group by secondaryid) mx
on PRIMARY.seconardyid = mx.secondaryid and mx.maxdate = PRIMARY.creationdate
WHERE PRIMARY.CREATIONDATE BETWEEN (NOW() - INTERVAL 14 DAY) AND NOW()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/411058.html
標籤:
上一篇:JSON_EXTRACT回傳空值
