2016-11-13 46 views
-2

我想查找两个用户喜欢的所有页面(status = 1)或不喜欢(status = 0)。如何找到两个用户的相同/共同/常用条目?

结构pages_likes

enter image description here

假设我的用户ID(uid)为1,我的一个用户ID为uid = 2用户在页面上,我想选择所有page_id条目我有共同点与该用户。

我该如何选择或只计算我们共有的所有page_id条目的数量?

+0

而你在这里寻求帮助之前已经尝试了什么? – RiggsFolly

+1

样本数据和预期结果将会更有帮助。 –

+0

我试过使用'select union'或self连接同一个表,但是我找不到正确的方法来做到这一点或从哪里开始正确。 – AlexioVay

回答

0

我只是找到了一个办法做到这一点:

SELECT DISTINCT p.title_de, l.page_id 
FROM 
    (SELECT page_id 
    FROM pages_likes 
    WHERE uid in (2, 1) AND status = 1) l 
LEFT JOIN pages p ON l.page_id = p.id 
GROUP BY l.page_id 
HAVING COUNT(l.page_id) > 1 

我不知道,如果它的最好的方式,因为我会用不同的WHERE条件两次使用此查询(不喜欢改变status = 0) ,但这似乎工作。

相关问题