SELECT DISTINCT M2.phoneNum
FROM Message M1
JOIN Location L1 ON M1.LID = L1.LID
JOIN Message M2 ON M2.Date = M1.Date AND M2.MID != M1.MID
JOIN Location L2 ON M2.LID = L2.LID AND L1.LPID = L2.LPID
WHERE M1.phoneNum = '09XX555666'
AND M1.Date = '2021-05-10'
AND L1.LPID != 0;
SQL 查詢說明:
SELECT DISTINCT 子句用於選擇唯一的電話號碼,確保結果中不會有重複。
FROM 和 JOIN 子句建立了數據來源和必要的連接:
Message M1 和 Location L1 連接用於確定目標電話號碼在特定日期出現的位置和對應的上層區域。
Message M2 和 Location L2 連接用於查找所有其他在同一天出現在相同上層區域的電話號碼。
ON 條件確定了連接的基準:
M1.LID = L1.LID 和 M2.LID = L2.LID 用於連接消息與位置。
L1.LPID = L2.LPID 確保只比較相同上層區域的位置。
WHERE 條件用於篩選特定的記錄:
M1.phoneNum = '09XX555666' 指定目標電話號碼。
M1.Date = '2021-05-10' 指定特定日期。
L1.LPID != 0 確保所考慮的位置具有上層區域。
這個查詢有效地篩選出了與指定電話號碼在同一天共處同一上層區域的所有其他電話號碼,有助於識別可能的相關或群體行為模式。