Hi,
How come we use * with clause COUNT to count number of apps at each price point. I thought we need to use COUNT(id ) or COUNT(name)? Don’t we use * to include everything? Thank you

I had a similar questions. I am not understanding why HAVING COUNT(*) > 10… Infact I used HAVING COUNT(price) > 10 and the task was checked off as if done correctly. It was not until I looked at the hint that I realized I had done the query ‘wrong’ (even though the task was ‘completed’ when I used HAVING COUNT(price) > 10)

The difference between the COUNT (*) function and COUNT (column name | expression) is that the second one (like the other aggregate functions) does not take into account NULL values in the calculation.

Hi, what is average downloads in this case? We have exact number of downloads for every specific price value and instance. Average of this number is this number. This doesn’t seem to make sense.
Thank you

Select price,
Round(Avg(downloads)),
COUNT(*)
From fake_apps
Group by price
Having count(price)>10;

Hi. I was actually making the same mistake. We’re confusing the number of downloads with the number of apps.
When using HAVING downloads > 10 and we get that row with the ‘9’ value, it means there are 9 apps which have more than 10 downloads each. It might be helpful to take a look at the entire fake_apps table where you’ll see EVERY app has more than 10 downloads.

I finally used the forums to try and find this exact question.

I think I figured it out:
If you query all of the table, you’ll see that the prices aren’t random and that there’s only a handful of price points. When you take the average, you’re taking the average of all downloads for apps at that price point.

For example the average downloads of all apps that cost .99 cents

I am having the same question on why we are needing a count function as well. I believe if we used a statement of having name > 10; It provides us with the same answer.