我有一個記錄無效用戶登錄嘗試的表。每次進行無效嘗試時,用戶名,用戶IP,用戶電子郵件和時間/日期都存儲在數據庫中。MySQL在共享3列中的至少1列的時間段內統計多個條目
我想要做的是檢查是否在任何24小時的時間段內有相同的用戶超過X次無效嘗試。但是,用戶可以隨時更改電子郵件,用戶名或IP。所以,我需要檢查這三個字段中的任何一個是否相同。
例如:
- 用戶ID:1; IP:1.1.1.1;電子郵件:[email protected]
- 用戶ID:2; IP:1.1.1.1;電子郵件:[email protected]
- 用戶ID:1; IP:1.1.1.2;電子郵件:[email protected]
- 用戶ID:4; IP:1.1.1.4;電子郵件:[email protected]
- 用戶ID:5; IP:1.1.1.4;電子郵件:[email protected]
所有這些將與SAME用戶匹配,因爲他們共享用戶ID,IP或電子郵件。然後,我需要輸出所有用戶ID,IP和電子郵件,以便我可以禁止任何符合這些條件的表中的用戶。
如果'1.1.1'與所示的所有ID一致,則可以基於前三組IP地址。這似乎是與你發佈的所有內容唯一密切的關係。 – 2014-09-22 01:58:57
謝謝。知識產權只是一個例子,實際上它們將是真實而且變化多端的。這些用戶仍然以某種方式連接,因爲每個用戶都共享一個ID,IP或一封電子郵件。即使id2和id5是相關的,因爲雖然它們不共享直接字段,但它們通過id4具有二階關係,等等。 – 2014-09-22 02:05:20
啊,我明白了。是的,我可以看到戈登的答案如何解釋試圖解決問題的複雜性。這是一個頭部爆竹。 – 2014-09-22 02:07:39