Получить список каждого значения в столбце и сколько раз оно встречается, отсортированные по возрастанию - PullRequest
1 голос
/ 26 декабря 2011

У меня есть следующая база данных

person_id| field a | field b |friend_id

Предположим, что friend_id - это идентификатор человека, которого любит данный человек, и необязательный регистр по умолчанию, соответствующий 0;

Я хочусортируйте людей в порядке их популярности в группе, т. е. в порядке того, сколько раз идентификатор человека был указан в качестве friend_id.

Каким будет запрос?

Ответы [ 2 ]

1 голос
/ 26 декабря 2011

Какая группа?

Из того, что я прочитал, вы хотите увидеть самый популярный идентификатор Friend_ID от "GROUP", но я не уверен, какую группу вы имеете в виду.

Так что это дает вамсамый популярный "Friend_ID" по всей таблице.

Select count(Friend_ID), Friend_ID
from table
Group by friend_ID
Order by count(friend_ID) DESC
0 голосов
/ 26 декабря 2011
select
      YT1.Person_ID,
      YT1.FieldA,
      YT1.FieldB,
      PreQuery.Popularity
   from
      YourTable YT1
         JOIN ( select YT.friend_id, 
                       count(*) as Popularity
                    from YourTable YT
                    group by YT.friend_id ) PreQuery
            on YT1.Person_ID = PreQuery.Friend_ID
   order by 
      PreQuery.Popularity DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...