SQL中的内连接和平均值

时间:2016-04-20 23:25:56

标签: sql inner-join rounding average

我不熟悉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;

任何帮助表示感谢。

3 个答案:

答案 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()函数会给出错误答案。