Mar*_*n J 3 sql database relational-database
这些是我的表:
表:人
id---name
1----John
2----Mike
3----George
Run Code Online (Sandbox Code Playgroud)
表:访问量
id---name---visitor
1----Paris--1
2----Paris--1
3----Paris--1
4----London-1
5----London-1
6----Tokyo--1
Run Code Online (Sandbox Code Playgroud)
现在从这些表中我们可以看到一个名叫约翰(身份1)的人已经三次访问巴黎,两次访问伦敦,一次访问东京.现在我的问题是如何将其翻译成SQL并选择John访问过的最受欢迎的地方的名称(结果是巴黎)?
看一下聚合函数: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;
Run Code Online (Sandbox Code Playgroud)
这将为您获取该访问者的每个特定位置的访问次数,并在顶部订购最受欢迎的结果.
如果您只想要最受欢迎,那么您可以限制结果:
SELECT name, count(name) AS visits
FROM visits
WHERE visitor = 1
GROUP BY name
ORDER BY visits DESC LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4167 次 |
| 最近记录: |