我正在尝试删除使用添加到用户注册脚本的PHP代码段在我的网站上注册的垃圾邮件类型用户。
我是MySQL的新手,需要一个 SELECT 语句来查找fid 2和fid 3的值相同的用户。在某些情况下,fid 2,fid 3和fid 5的值可能与下面的profile_values数据库表中显示的值相同。在这种情况下,fid 2,fid,3和fid 5的值 Mollardgasse 42 是相同的。因此该用户4138将被删除。
所以,如果fid 2和fid 3是相同的或fid 2,fid 3和fid 5是相同的,我想识别用户,所以我可以删除它们。
我知道如果用户被识别后如何删除用户,但我不知道如果满足上述条件,如何编写select语句来识别用户。
SELECT * FROM profile_values WHERE ......?
提前致谢。
fid uid value
1 4138 Nation
2 4138 Mollardgasse 42
3 4138 Mollardgasse 42
4 4138 4770
5 4138 Mollardgasse 42
6 4138
7 4138 Female
8 4138 30
9 4138 Significant Other
10 4138 QS
11 4138 LD
12 4138 Associates Degree
13 4138 Just enough to pay bills
14 4138 http://bodyphlo.com/studio-shoes-the-latest-in-fit...
15 4138
16 4138
17 4138 0
19 4138
20 4138
21 4138 Human
1 4137 usa
2 4137 coolhead
3 4137 kelly
4 4137 555-1212
5 4137 norwalk
6 4137
7 4137 Female
8 4137 38
9 4137 Significant Other
10 4137 2124 livermore ave
11 4137 California
12 4137 Masters Degree
13 4137 Doing ok
14 4137 http://google.com
15 4137
16 4137
17 4137 0
19 4137
20 4137
21 4137 Human
答案 0 :(得分:2)
SELECT * FROM profile_values GROUP BY fid, uid, value HAVING COUNT(value) > 1
答案 1 :(得分:1)
SELECT pv1.uid
FROM profile_values pv1
JOIN profile_values pv2
on pv1.uid = pv2.uid
AND pv1.fid = 2
AND pv2.fid = 3
AND pv1.value = pv2.value