我一直在追逐我的尾巴在這一個。我有一張桌子(這個例子很簡單)。試圖找到基於一組記錄,其中有一個100%的匹配mysql的單個記錄
LogID (Primary Key)
UserID (Foreign Key)
Skipped (Tiny Int, default 0) can be 1 or 0
這是一個一對多的關係,這是表中「多」在此加入
用戶即:約翰史密斯可能有10用戶ID的每條記錄可以有一個跳過= 1或Skipped = 0,具體取決於特定記錄的實例。
下面是一個簡單的斷點數據
1 | 10 | 1
2 | 10 | 0
3 | 10 | 1
4 | 10 | 0
下來所以這個用戶是在那裏的4倍。 2記錄顯示跳過(1),2記錄顯示未跳過(0)。
我需要創建一個查詢來查找跳過100%的用戶。所以看起來像這樣的人:
1 | 11 | 1
2 | 11 | 1
3 | 11 | 1
4 | 11 | 1
如果被跳過是0我不希望那個用戶。用戶可以混合使用(跳過是和否),所以我需要找到僅100%跳過的用戶。我將需要它通過UserID分組或至少DISTINCT處理它發現時,所以我得到單個用戶(沒有dups)。我一直在關注GROUP BY,HAVINGS,COUNT和SUM以解決這個問題,但是我一直在抓住查詢的100%部分。
我使用MySQL 56年5月1日
任何建議都非常讚賞。
謝謝! 韓紙
'總和(跳過)'就足夠了,不是嗎? – fge 2012-01-05 22:10:07
是的,在這種情況下,跳過的可以只有一個布爾值,你是對的。 ;) – 2012-01-05 22:16:05
偉大的解決方案。謝謝! – hanji 2012-01-05 22:21:48