我想通过一个QUERY SQL结识所有朋友
我有一个名为MEMBERS
的表,该表有一个CALL_FRIEND_ID
,
CALL_FRIEND_ID
是您提供给朋友的随机ID,如果他/她注册使用,他/她通过将您添加到名为FRIEND_ID
的列(在同一表中)而成为您的朋友)
现在知道我每个人的总朋友了,我做了两个查询
SELECT * FROM MEMBERS;
秒
SELECT COUNT(*) FROM MEMBERS WHERE FRIEND_ID = :id
但这会使响应变慢
我尝试使用HAVING
,但没有任何结果,没有解决方案?
答案 0 :(得分:0)
尝试此查询:从您的情况中,我想这会提供您想要的输出
select FRIEND_ID,count(CALL_FRIEND_ID) as totalFriends from MEMBERS
where FRIEND_ID = :id
group by FRIEND_ID
答案 1 :(得分:0)
正如您所说,当成员注册时,会为其分配一个随机数CALL_FRIEND_ID,并且您希望根据FRIEND_ID的分组方式在成员表中添加好友总数,因此需要where子句,因为它将在哪里如果您找到任何特定的FRIEND_ID就可以使用,因此您可以使用以下查询
select FRIEND_ID,count(CALL_FRIEND_ID) as totalFriends from MEMBERS
group by FRIEND_ID