2014-10-16 97 views
0

我有这个表:得到列的最大相同值

follower | following 
2  | 1 
3  | 1 
1  | 13 
13  | 1 
2  | 1 
24  | 18 
24  | 5 
5  | 24 

它包含了不同用户的跟随对方的用户名。最受关注的人是1,所以我想显示如下输出:“本网站上最受关注的人是1有4个关注者”。

+0

SELECT MAX(*)FROM​​ – 2014-10-16 17:28:31

+0

为什么标记PHP? – dbf 2014-10-16 17:42:06

回答

1

退房GROUP BY

SELECT following, COUNT(*) AS followcount 
FROM follows 
GROUP BY following 
ORDER BY followcount DESC 
LIMIT 1; 

Demo

+0

谢谢..工作! – 2014-10-16 17:47:48

+1

你的别名不应该是一个关键字......这是一个坏主意。 – 2014-10-16 17:54:06

+0

更新,谢谢@JohnRuddell。 – Sam 2014-10-16 17:56:44

1

喜欢的东西

SELECT following, 
     COUNT(follower) AS followercount 
FROM mytable 
GROUP BY following 
ORDER BY 2 DESC 
LIMIT 1; 

DEMO

+0

事情是我只想要被跟踪的人的用户名最多,不是所有的用户 – 2014-10-16 17:30:53

+0

是不是这是什么给你?它应该给你一个单行,返回的是跟随者在'follow'后面的人数最多的人,以及他们追随者的数量'followercount'。使用你的样本数据,它应该返回'follow'和1'followercount'4 – 2014-10-16 17:31:20

+0

虽然你的样本数据有些奇怪,因为用户id 2跟随用户id两次 – 2014-10-16 17:33:38