Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Databases

Paul Brazell
Paul Brazell
14,371 Points

Group By Genre SQL not returning expected results

I am attempting to do Challenge Task 1 of 2. The question is:

In the library database there's a books table. There are id, title, author, genre and first_published columns. Count all the books in each genre. Include the genre column first and the genre_count as the second column of information.

This is my statement:

SELECT genre, count(genre) as genre_count FROM books GROUP BY genre;

This appears to be returning the expected results, but it is stating incorrect. What am i doing wrong?

3 Answers

Paul Brazell
Paul Brazell
14,371 Points

Solved it. Replaced Count(genre) for Count(*)

SELECT genre, count(*) as genre_count FROM books GROUP BY genre;

Alanna Hill
Alanna Hill
5,027 Points

Results were the same, I'm still not sure why the original solution was incorrect...

ALBERT QERIMI
ALBERT QERIMI
49,872 Points

SELECT * FROM books ORDER By first_published ASC , genre ASC

Paul Brazell
Paul Brazell
14,371 Points

The question revolves around a Count() function.

SELECT genre, COUNT(*) AS genre_count FROM books GROUP BY genre;

Just to let you know where I was going wrong was that I was putting genre_count in quotes when they shouldn't have been so that was causing an error for me. :) e.g.

SELECT genre, COUNT(*) AS 'genre_count' FROM books GROUP BY genre;