我一直在追逐我的尾巴在这一个。我有一张桌子(这个例子很简单)。试图找到基于一组记录,其中有一个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