撰寫一個查詢來檢查流量不一致。不一致是指訪問(url、uid、dt、src、rev)涉及用戶 uid 從未訪問過的源頁面 src。回傳訪問的key(url、uid、dt)。
這是我正在使用的表:
訪問表的主鍵是url、uid、dt。
訪問:
| 網址 | dt | 用戶界面 | 源檔案 | 轉 |
|---|---|---|---|---|
| A02 | 05/18/2003 | 一種 | A05 | 20 |
| A03 | 05/19/2003 | 乙 | A01 | 15 |
| A01 | 2004 年 5 月 20 日 | 乙 | A02 | 10 |
我希望它回傳這些結果:
| 網址 | dt | 用戶界面 | 源檔案 | 轉 |
|---|---|---|---|---|
| A02 | 05/18/2003 | 一種 | A05 | 20 |
| A01 | 05/20/2004 | 乙 | A02 | 10 |
這是因為作為 A02 源的 A05 從未被 uid 訪問過。A03 訪問不會被回傳,因為源之前被 B 訪問過。
我將如何撰寫回傳此內容的查詢?
首先,我確實嘗試在 src 和 url 上通過 self Join 將兩個 Visit 表連接在一起:
Select distinct V1.url, V1.uid
FROM Visit V1, Visit V2
WHERE V1.src = V2.url
但我不確定從這里去哪里。我知道可能需要那個組。
uj5u.com熱心網友回復:
NOT EXISTS 幫助查找這些記錄。
SELECT *
FROM Visit a
WHERE NOT EXISTS (
SELECT 1
FROM Visit b
WHERE b.url = a.src
AND b.uid = a.uid
)
uj5u.com熱心網友回復:
嘿,我來自同一個班級,只是想說我認為他希望我們只回傳 URL、uid 和 dt。因此,如果您將 SELECT * 更改為 SELECT asdlkfj;lasjdflk 無論什么 tf,您都應該是金色的......除非我誤解了哈哈
另外,我們是否應該制作 select 陳述句 DISTINCT 以及 orrr nah?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/353222.html
