sql - 无法在输出选择中切换列

标签 sql sqlite select

**我正在使用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;

最佳答案

您误解了ALL的功能。
ALLDISTINCT一样,是指SELECT子句中所有字段的组合,而不是特定字段。
maxi-mini周围的括号没有区别。
P.s. ALL是默认设置,您可以随意忽略它。

https://www.sqlite.org/lang_select.html#distinct

select all 

       maxi-mini as spread, movieTitle 

关于sql - 无法在输出选择中切换列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41368604/

相关文章:

android - 从简单的游标适配器填充微调器

sql - 修改元组值的 MYSQL Select 语句

c - 如何在接受多个客户端连接时设置 TCP 服务器超时

sql - 哪个更好?在本地文本文件或数据库中存储/访问数据?

php - 如何将MySQL数据库表的一行链接到另一个表中的另一行

ios - Sqlite 查询也可以获取带有相邻词的搜索词

sqlite - 无限保存 CoreData Context

php - 根据一条记录列值选择多条记录

mysql - 如何删除在先前插入的行一分钟内插入的行

SQL 通配符而不是 SELECT 语句中的键