Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用临时表时返回NULL的SQL计数查询_Sql_Sqlite - Fatal编程技术网

使用临时表时返回NULL的SQL计数查询

使用临时表时返回NULL的SQL计数查询,sql,sqlite,Sql,Sqlite,我使用下面的代码尝试根据专辑中的歌曲数量返回平均收入 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 A

我使用下面的代码尝试根据专辑中的歌曲数量返回平均收入

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”中的of tracks列返回一列空值

和中一样,这样做:SELECT*FROM ALBOM_Tracks返回值,但SELECT ofTracks FROM ALBOM_Tracks只返回空值

我不确定代码中的问题是什么

期待看到:

但我得到:

第一个示例中没有包括order by。

只是一个建议 尽量避免表和列名中不允许的字符为+-?!*@%^&=/\:'

尝试一个简单的方法:

SELECT #ofTracks
它将返回NULL。 用双引号、反勾号或方括号括起来:

SELECT "#ofTracks", AVG(Album_Revenue) FROM Album_Tracks
GROUP BY "#ofTracks"
ORDER BY "#ofTracks" DESC

更新您的问题添加一个适当的数据样本作为表格文本,以及您实际使用的样本数据的预期结果截图。。mysql???或sqlite??使用sqlite。很抱歉,我刚刚开始使用sqlTry,请不要使用特殊字符作为列名的开头字符。选择计数*作为numtrack。。。从专辑中选择numtracks_曲目…这很有效,谢谢!今后我将避免在表/列标题中使用符号
SELECT "#ofTracks", AVG(Album_Revenue) FROM Album_Tracks
GROUP BY "#ofTracks"
ORDER BY "#ofTracks" DESC