**我正在使用SQLite的开放式课程网站上解决一些问题。 我有以下查询,我收到正确的输出,除非我尝试切换
select all(maxi-mini) as spread, movieTitle
到
select movieTitle, all(maxi-mini) as spread
我收到一个未能执行的错误,并且不知道为什么。 我没看到什么?
*工作代码,但不能在输出中翻转列。
select all(maxi-mini) as spread, movieTitle
from (select * from
(select max(R1.stars) as maxi, min(R2.stars) as mini, movie.title as movieTitle
from rating R1, rating R2
natural join movie
where R1.mid=R2.mid group by movie.title))
order by spread desc, movieTitle;
答案 0 :(得分:2)
您误解了ALL
的功能
ALL
与DISTINCT
的方式相同,是指SELECT子句中所有字段的组合,而不是特定字段的组合。
maxi-mini
周围的括号没有区别
附: ALL
是默认设置,您可以随时将其删除。
https://www.sqlite.org/lang_select.html#distinct
select all
maxi-mini as spread, movieTitle