April 5th, 2017

Кто умеет в SQL?

Что-то торможу.

Допустим у нас есть таблица с записями: имя, индивидуальный_номер, номер_друга:

Маша,1,2
Миша,2,null
Вася,3,2
Митя,4,2
Коля,5,1
Вова,6,1

Т.е. с Мишей дружат Маша,Вася,Митя, а с Машей -- только Коля и Вова.

Мне надо написать запрос, который выводит количество друзей индивидуума и его имя.

SELECT count(индивидуальный_номер), номер_друга FROM people GROUP by номер_друга; -- корректно выводит количество друзей человека и индивидуальный_номер человека. Но мне надо ещё и имя человека.

SELECT count(индивидуальный_номер), номер_друга, имя FROM people GROUP by номер_друга,имя; -- выводит какую-то херню.

Подозреваю, что надо некий JOIN, но он у меня не вытанцовывается, так как это одна и та же таблица... Куды копать-то?

Спасибо.