Я использую следующий код, чтобы попытаться вернуть средний доход в зависимости от количества песен в альбоме.
WITH Album_Tracks AS (
SELECT COUNT(*) AS "#ofTracks", SUM(invoice_items.UnitPrice) AS "Album_Revenue"
from tracks
LEFT JOIN invoice_items ON invoice_items.trackID = tracks.trackID
GROUP BY Albumid
)
SELECT #ofTracks, AVG(Album_Revenue)
FROM Album_Tracks
GROUP BY #ofTracks
ORDER BY #ofTracks DESC
Проблема, с которой я сталкиваюсь, заключается в том, что "количество треков"столбец во временной таблице 'Album_Tracks' возвращает столбец с NULL-значениями, когда я не выбираю все данные из таблицы.
Как при этом: SELECT * FROM Album_Tracks
возвращает значения, но SELECT #ofTracks FROM Album_Tracks
возвращает тольконулевые значения.
Я не уверен, что проблема в моем коде.
Ожидается увидеть: Пример 1
Но я получаю: Пример 2
В первом примере заказ не был включен.