首先是免责声明,我没有设计我现在支持的数据库,我不会这样设计它,但我在这里。
问题:我的客户在他的数据库中有一个包含租借列表的表。在此表中是用于存储列表城市的文本字段。我的客户希望看到的是所有独特城市的下拉列表,每个城市旁边都有一个数字,表示该城市中的房源数量。
暂时忽略拼写和大写问题,我应该用什么Sql来获取唯一列表以及每个项目?为了概念验证,我查询了不同的城市列表(很容易),然后通过每个城市查询它在表中的次数进行迭代。这显然非常低效。
有人可以帮我用Sql在一个声明中完成所有这些吗?
答案 0 :(得分:3)
SELECT
CityName,
COUNT(*) AS CityListings
FROM
YourTable
GROUP BY
CityName
ORDER BY
CityName
答案 1 :(得分:2)
SELECT CITY,COUNT(*)FROM TABLE GROUP BY CITY
;)获得一本好的SQL Book,这是“21小时内的SQL”级别;)
答案 2 :(得分:2)
从CitiesTable选择CityName,COUNT(*)
按城市名称分组
答案 3 :(得分:1)
您正在寻找Group By子句:
SELECT city, COUNT(city)
FROM rentals
GROUP BY city
ORDER BY city
答案 4 :(得分:1)
首先,试试这个
SELECT City, Count(*)
FROM myTable
GROUP BY City
答案 5 :(得分:1)
您的意思是以下内容吗?
select city, count(city) from listings
group by city
这应该转:
Shepparton blah blah blah
Mildura yada yada yada
Shepparton dum de dum
成:
Shepparton 2
Mildura 1
听起来就像是你想要的。
答案 6 :(得分:1)
SELECT DISTINCT city_name, count(*)
FROM rentals
GROUP BY city_name