具有特定条件的MySQL自连接
我的问题是,我有一个相对较大的表(约200万行) 桌子是这样的具有特定条件的MySQL自连接,mysql,join,optimization,self-join,Mysql,Join,Optimization,Self Join,我的问题是,我有一个相对较大的表(约200万行) 桌子是这样的 id Action user_id Date ----------------------------------- 1 FOP userx date1 2 POP userx date2 3 FOP userx NULL 4 FOP usery date4 5
id Action user_id Date
-----------------------------------
1 FOP userx date1
2 POP userx date2
3 FOP userx NULL
4 FOP usery date4
5 POP usery date5
6 FOP userz date6
7 POP userz date7
8 FOP userz NULL
9 FOP usert date9
10 POP usert date10
11 FOP usert date11
12 POP usert date12
在表中,若有FOP且并没有日期(日期=NULL),则表示用户处于活动状态。我正在寻找非活动用户,所以我不希望有一个用户的FOP日期为空。如果有流行音乐,我们必须有个约会
具体来说,在我的例子中,FOP的数量应该等于POP的数量
例如:在我们的例子中,我只想得到usery和usert的信息
我没有有效地加入这张桌子。因为桌子真的很大
谢谢你的想法 你需要一些代码来从x获取所有信息,但要在后台,这样你的大脑才能正常工作?这应该可以
SELECT *
FROM table
WHERE action = POP
AND user_id NOT IN (SELECT user_id FROM table WHEREdate = NULL)
Kimaldii没有问题,如果这个答案是你的问题的解决方案,请考虑接受它作为正确的答案。