Recent Posts

HackerRank: [SQL Basic Join] (3/8) AVERAGE POPULATION OF EACH CONTINENT | floor, avg & inner join in SQL

HackerRank: [SQL Basic Join] (3/8) Average Population of Each Continent | FLOOR, AVG & INNER JOIN in SQL
I started studying SQL from a very famous site - HackerRank. Here I will try to provide multiple approaches & solutions to the same problem. It will help you learn and understand SQL in a better way.

Please make use of my blog posts for learning purpose only and feel free to ask your questions in the comment box below in case of any doubt.

Click Here for the previous blog-post in the series.


SQL Problem Statement:

Given the CITY and COUNTRY tables, query the names of all the continents (COUNTRY.Continent) and their respective average city populations (CITY.Population) rounded down to the nearest integer.

Note: CITY.CountryCode and COUNTRY.Code are matching key columns.



Input Format:

The CITY and COUNTRY tables are described as follows:




Solution: Using INNER JOIN OR JOIN (MySQL Query):

SELECT COUNTRY.CONTINENT, FLOOR(AVG(CITY.POPULATION))
FROM COUNTRY
JOIN CITY
ON COUNTRY.CODE = CITY.COUNTRYCODE
GROUP BY COUNTRY.CONTINENT
ORDER BY COUNTRY.CONTINENT;

NOTE: 
  1. FLOOR function is used to round down the decimal number to the nearest integer (smaller than or equal to the input number.)
    Eg. FLOOR(2.7) will return 2

  2. AVG is an aggregation function used to calculate the average of the values of all the records in the specified column name passed to the function.

  3. JOIN and INNER JOIN are the same in SQL. It returns the records that have matching values in both tables.



Expected Output:

Africa 274439
Asia 693038
Europe 175138
Oceania 109189
South America 147435



--------------------------------------------------------------------------------
Click here to see solutions for all Machine Learning Coursera Assignments.
&
Click here to see more codes for Raspberry Pi 3 and similar Family.
&
Click here to see more codes for NodeMCU ESP8266 and similar Family.
&
Click here to see more codes for Arduino Mega (ATMega 2560) and similar Family.
Feel free to ask doubts in the comment section. I will try my best to answer it.
If you find this helpful by any mean like, comment and share the post.
This is the simplest way to encourage me to keep doing such work.

Thanks & Regards,
-Akshay P Daga

No comments