帮助形成一个SQL语句

我有两个表:旅游景点和城市。 景点包含一个名为城市列,这是参照在城市表中的ID。 我想形成一个MySQL语句会告诉我哪些城市最有景点。

我知道我可以这样做:

SELECT COUNT(*) as `number` FROM `attractions` WHERE `city` = XX

...得到多少景点都在一个城市的计数,但有一条语句,可以计算所有的景点,在每一个城市,并返回结果通过景点数量降序排列?

--------------解决方案-------------

SELECT City.Name, COUNT(Attractions.City) as AttractionCount
FROM City
LEFT OUTER JOIN Attractions ON City.City = Attractions.City
GROUP BY City.Name
ORDER BY COUNT(Attractions.City) DESC

分类:SQL 时间:2015-03-16 人气:6
本文关键词: MySQL和SQL,GROUP BY,算
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.120 (s). 10 q(s)