【发布时间】:2015-04-26 12:35:12
【问题描述】:
我有一个这样的示例表:
月市人
8 LHR ABC
10 北京 BCS
11 纽约 JJJ
11 威尼斯 hghg
11 威尼斯 KKK
12 纽约州 aa
12 ORL abc
12 ORL 英国广播公司
所以我想要实现的是在特定月份查看访问人数最多的城市
输出应该是这样的:
12 ORL
11 VENINCE
10 BEIJING
8 LHR
我已经尝试将它分组为
SELECT month, city , count(*) AS 'no of people visiting'
FROM table
GROUP BY month, city
这张表确实告诉我哪个城市和月份位置有多少人
访问,但我无法提取最多的月份和城市组合
相对于某个月份。
更新的查询(有错误)
SELECT *
FROM
( SELECT monthname(reservation.PickupDate), location.LocationName, COUNT(*) AS count
FROM reservation NATURAL JOIN location
WHERE reservation.pickupdate >= DATE_ADD(NOW(), INTERVAL - 3 MONTH)
GROUP BY month(reservation.PickupDate), location.LocationName) AS t1
WHERE NOT EXISTS (SELECT 1
FROM reservation R1 NATURAL JOIN location L1
WHERE monthname(R1.PickupDate) = monthname(t1.PickupDate)
GROUP BY month(R1.PickupDate), L1.LocationName)
【问题讨论】: