我不熟悉SQL这个问题。我试图查询以下内容。给定CITY和COUNTRY表,查询所有大陆(COUNTRY.Continent)的名称及其各自的平均城市人口(CITY.Population)向下舍入到最接近的整数。
表模式为City: id, name, countryside, population
Country: code, name,continent, population
我已经写过了内部联接,但似乎无法找到获得avg
城市人口的方法。这是我的代码。
SELECT COUNTRY.CONTINENT
FROM COUNTRY
INNER JOIN ON
COUNTRY.CODE = CITY.COUNTRYCODE;
任何帮助表示感谢。
答案 0 :(得分:1)
确定。这是解决方案。
Select Country.Continent, floor(Avg(city.population))
From Country
Inner Join City
On Country.Code = City.CountryCode
Group By Country.Continent;
在这里,我们必须按大陆分组,以便将大陆的结果集作为关键标识符,然后将AVG功能应用于属于该大陆的城市的人口。
答案 1 :(得分:0)
connection = (HttpURLConnection) url.openConnection();
inputStream = connection.getInputStream()
reader = new BufferedReader(new InputStreamReader(inputStream));
我没有对此进行过测试,所以如果需要稍微调整一下,我会道歉。这里的概念是按国家/地区代码分组,因为您正在寻找特定或单个国家/地区代码中的平均人口。
答案 2 :(得分:0)
select COUNTRY.CONTINENT,floor(avg(CITY.POPULATION))
from CITY,COUNTRY
where CITY.CountryCode=COUNTRY.Code
group by COUNTRY.CONTINENT;
这是最基本的SQL查询 想法:一个大陆有几个城市,我们必须找到城市的平均人口。我们必须组建各大洲并找到他们的平均城市人口。
注意:对于这个问题(HACKERRANK PROBLEM),ROUND()函数会给出错误答案。