【问题标题】:Can't switch columns in select of output无法在选择输出时切换列
【发布时间】:2016-12-28 19:38:06
【问题描述】:

**我正在一个使用 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-keyword(据我所知这是默认的)?

标签: sql sqlite select


【解决方案1】:

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

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

select all 

       maxi-mini as spread, movieTitle 

【讨论】:

  • 这是正确的 Dudu Markovitz。 Stephan Lechner 的评论也是正确的。我的问题是我误解了“ALL”关键字的概念/用法
猜你喜欢
  • 2018-07-08
  • 2014-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多