I am currently stuck at this point of the project. My answer is
no - 498
yes - 116
which is different to the solution’s 114 for yes. Here’s what I’ve written:
trackvsalbum = ''' WITH invoice_track AS ( SELECT invoice_id, MIN(track_id) track_id, COUNT(track_id) total_invoice_tracks FROM invoice_line GROUP BY invoice_id ), album_track AS ( SELECT album_id, MIN(track_id) album_track_id, COUNT(track_id) total_album_tracks FROM track GROUP BY album_id ), album_invoice_track AS ( SELECT CASE WHEN total_invoice_tracks = total_album_tracks AND album_track_id = track_id THEN ‘yes’ ELSE ‘no’ END AS album_purchase, COUNT(*) number_of_invoices, CAST(COUNT(*) AS FLOAT)/CAST((SELECT COUNT(*) FROM invoice) AS FLOAT)*100 percentage FROM invoice_track it LEFT JOIN album_track at ON at.album_track_id = it.track_id GROUP BY album_purchase ) SELECT * from album_invoice_track ''' run_query(trackvsalbum)
Could someone please explain why it is different? Your help will be greatly appreciated.