FAQ: Aggregate Functions - Round

This community-built FAQ covers the “Round” exercise from the lesson “Aggregate Functions”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Web Development
Data Science

Learn SQL

FAQs on the exercise Round

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

I still don’t understand why the numeral (2) is used to round to an average of two decimal places.

SELECT ROUND(price, 0)
FROM fake_apps;

The above example rounds to the nearest integer.

SELECT ROUND(price, 2)
FROM fake_apps;

The above example rounds to the nearest second decimal place.

ROUND(123.456, 2)    //  123.46

Question:

If the function takes in a column name, how does avg(prices) qualify as one? I thought avg(prices) returns a single value?

Can someone elaborate. Thanks

Why does it matter which order you put the functions?

For example,

SELECT ROUND(AVG(price), 2)
FROM fake_apps;

returns the correct answer of 2.02, but:

SELECT AVG(ROUND(price, 2))
FROM fake_apps;

returns 2.02365, with the wrong number of decimals.

Why doesn’t the second set of commands take the column of prices, round it to two decimals, and then average it? I suppose this second approach introduces more error, but the commands should still work, no?

4 Likes

My understanding is that avg(prices) actually creates a new column (temporarily, I guess) with just one row whose value is the average price.

In the first line

SELECT ROUND (AVG(price), 2)
FROM fake_apps;

How would I know the exact order / way in which the parentheses are used? I mean instead of (AVG(price), 2) why not AVG(price, 2)? How / where can I learn; why is it the way it is?

Thank you for the help

don’t read letters/characters, read it as a set of instructions: calculate the the average price and round this result to two decimals

understanding functions, parameters and arguments are the underlying programming concepts you need/are looking for.