最近尝试学习一些sql并遇到了这个问题。 我有一个页面,显示国家名称及其在div中的资本,从我的数据库请求。但是,我想添加一个功能,用户可以根据给定国家/地区包含的人口超过100万的城市数量来订购显示。我无法弄清楚这里需要的查询。
如何获得人口超过100的同一个国家/地区内城市的数量作为整数值?我的表格格式是这样的。因此,例如,英格兰应该返回2,因为有两个英国城市符合标准,美国3,印度1等等。所以美国将出现在我新订购的结果页面的顶部,其次是英格兰,然后是印度。
我尝试过联合查询,但我无法掌握第一个查询的价值。
我该怎么做?
表A
*-----------------*------------*
| COUNTRY NAME | CAPITAL |
| England | London |
| India | New Delhi |
| US | DC |
| | |
*-----------------*------------*
表B
*-----------------*------------------------------*
| COUNTRY NAME |Cities with a population > 1m |
| England | London |
| England | Birmingham |
| India | New Delhi |
| US | DC |
| US | New York |
| US | LA |
*-----------------*-------------------------------*
感谢您的帮助!
答案 0 :(得分:0)
我假设表B中的所有值都是所需人口的城市。 如果没有添加where子句来限制结果..
SELECT [COUNTRY NAME], COUNT([COUNTRY NAME])
FROM Table B
GROUP BY [COUNTRY NAME]
答案 1 :(得分:0)
对于Oracle数据库,它将是:
select a.c_name, a.c_quan
from (select country_name c_name, count(country_name) c_quan
from table_b
group by country_name) a
order by a.c_quan;