1
我有以下的数据库获取一列中的每个值的列表,它发生了多少次从最高排序,以最低
person_id| field a | field b |friend_id
让我们假设friend_id是给定的人喜欢一个人的ID和它是可选的,默认情况下对应于0;
我想根据个人在群中的受欢迎程度排序人,即按照该人的id已被列为friend_id的次数的顺序。
查询会是什么?
我有以下的数据库获取一列中的每个值的列表,它发生了多少次从最高排序,以最低
person_id| field a | field b |friend_id
让我们假设friend_id是给定的人喜欢一个人的ID和它是可选的,默认情况下对应于0;
我想根据个人在群中的受欢迎程度排序人,即按照该人的id已被列为friend_id的次数的顺序。
查询会是什么?
什么组?
从我读到的,你想看到“GROUP” 最受欢迎的friend_ID,但我不确定你的意思是什么组。
所以这给你在整个表中最流行的“Friend_ID”。
Select count(Friend_ID), Friend_ID
from table
Group by friend_ID
Order by count(friend_ID) DESC
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