通过一个查询SQL

时间:2018-08-07 00:44:39

标签: mysql sql

我想通过一个QUERY SQL结识所有朋友

我有一个名为MEMBERS的表,该表有一个CALL_FRIEND_ID

CALL_FRIEND_ID是您提供给朋友的随机ID,如果他/她注册使用,他/她通过将您添加到名为FRIEND_ID的列(在同一表中)而成为您的朋友)

现在知道我每个人的总朋友了,我做了两个查询

SELECT * FROM MEMBERS;

SELECT COUNT(*) FROM MEMBERS WHERE FRIEND_ID = :id

但这会使响应变慢

我尝试使用HAVING,但没有任何结果,没有解决方案?

2 个答案:

答案 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