Получить общее количество друзей в одном запросе SQL

0

Я хочу получить общее количество друзей на одном QUERY SQL

У меня есть таблица с именем MEMBERS, и эта таблица имеет CALL_FRIEND_ID,

CALL_FRIEND_ID - это случайный идентификатор, который вы передаете его своему другу, и если он/она регистрируется, он станет вашим другом, добавив ваш столбец с именем FRIEND_ID (в той же таблице)

Теперь, чтобы узнать общего друга каждого из них, я делаю два запроса

SELECT * FROM MEMBERS;

второй

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

но это делает ответ медленно

Я пытаюсь использовать HAVING но без каких-либо результатов, любое решение?

  • 1
    Какую RBMS вы используете? Сколько у вас записей в MEMBERS ? Не могли бы вы предоставить пример данных? У вас есть индекс в столбце FRIEND ? Это может быть то, что вам нужно ...
  • 0
    @Zack Зак, ты имеешь в виду сэра с RBMS тип БД? MySQL, в FNAME,LNAME, EMAIL,PASSWORD Members меня есть FNAME,LNAME, EMAIL,PASSWORD и FRIEND , а также идентификатор CALL_FRIEND_ID человека, который сообщает ему URL
Показать ещё 3 комментария
Теги:

2 ответа

0

Как вы сказали, когда зарегистрирован член, тогда ему присваивается случайное число, которое имеет CALL_FRIEND_ID, и вы хотите, чтобы общее количество друзей в вашей таблице-члене соответствовало групповому мужу из файла FRIEND_ID, поэтому необходимо, чтобы предложение where, если оно применимо, если вы обнаружите какой-либо конкретный идентификатор FRIEND_ID, поэтому вы можете использовать нижеприведенный запрос

select FRIEND_ID,count(CALL_FRIEND_ID) as totalFriends from MEMBERS 
        group by FRIEND_ID
0

Попробуйте этот запрос: из вашего сценария, я думаю, это даст вам желаемый результат

 select FRIEND_ID,count(CALL_FRIEND_ID) as totalFriends from MEMBERS 
    where FRIEND_ID = :id
    group by FRIEND_ID

Ещё вопросы

Сообщество Overcoder
Наверх
Меню