我們有一個「交易」表,它記錄了我們網站上發生的各種事件。特別需要每晚進行一次「清理」過程。這裏是我的專欄(簡體):mysql查詢基於不同的鍵和時間戳檢索行
id, txName, brandName, visitorID, txDate
這是我想要檢索(散文)什麼:
從
vistiorID's
那些沒有記錄在過去是一個 「讀」txName
「READ」txName's
6周(根據txDate
)爲特定的brandName
。visitorID
完全有可能(並且可能)在6周窗口期間對於多於一個brandName
具有「讀取」txName's
。我們只有5brandName's
,所以我完全滿意地構建了一個單一的brandName
的過程並重復5次。
我的大腦只能做2次MySQL SELECT查詢(6周之前的記錄,6周內的記錄),然後循環遍歷兩組以獲得一組最終記錄待處理。但我確信有一個WAAAAY更有效的方式,我只是不明白。
我希望這是有道理的...謝謝任何人可以幫助。我認爲這是真正搞亂我的部分是試圖選擇的人誰沒有登錄交易,與那些誰有
你只是想選擇txDate超過6周前的任何記錄嗎? – Dan 2011-05-19 03:27:53
很好的問題。我意識到我只需要每個visitorID(每個品牌名稱)的單個實例。並且我只需要一個特定類型的txName(該條目被稱爲「READ」,如果讓那些認爲單詞「READ」與閱讀該表有關的人感到困惑,那麼很抱歉)。 – 2011-05-19 03:32:05