Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Error while executing SQL query on database: misuse of aggregate: count()

SELECT title FROM film
WHERE film_id in (
    SELECT count(inventory.inventory_id) as counter
    FROM inventory
    WHERE film_id = film.film_id and counter = 8
)

I am trying to display all movie titles from ‘film’ that have exactly 8 copies available in the inventory but I can’t seem to figure out the proper way of doing it with subqueries.

>Solution :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

You must group by film_id in the table inventory and set the condition for the 8 copies available in the HAVING clause:

SELECT title 
FROM film
WHERE film_id in (
  SELECT film_id
  FROM inventory
  GROUP BY film_id
  HAVING COUNT(*) = 8
);
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading