SQL查询以计算最常见的“流行”值?

5
这是我所拥有的表格:
表格:人员
其中,涉及IT技术相关内容,需要进一步明确才能进行具体翻译。
id---name
1----John
2----Mike
3----George

表:访问

id---name---visitor
1----Paris--1
2----Paris--1
3----Paris--1
4----London-1
5----London-1
6----Tokyo--1

现在,我们可以从这些表格中读取信息,发现一个名叫John(id 1)的人曾经去过巴黎3次、伦敦2次和东京1次。现在我的问题是如何将此翻译成SQL,并选择John最常访问的地方的名称(结果为巴黎)?

你使用哪种数据库管理系统?Postgres?Oracle? - user330315
1个回答

8
请查看聚合函数:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html
SELECT name, count(name) AS visits 
FROM visits
WHERE visitor = 1
GROUP BY name
ORDER BY visits DESC;

这将为您获取每个特定位置的访问次数,并按照最受欢迎的顺序排列结果。如果想要仅显示最受欢迎的内容,则可以限制结果:
SELECT name, count(name) AS visits
FROM visits
WHERE visitor = 1
GROUP BY name
ORDER BY visits DESC LIMIT 1;

谢谢,这比我预想的要容易得多。 - Martin J

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接