我想知道是否有人知道如何找到最小值和最大值并找到它们之间的时间范围?

时间:2019-05-08 20:36:14

标签: mysql mysql-workbench

正在使用我制作的电影数据库,我想进行一次选择查询,该查询将分别选择收入最高的电影和价值最低的电影,并找出两者之间的时间范围

我尝试使用min和max函数来尝试分别选择最低和最高的电影,并尝试使用datediff()来尝试选择它们之间的时间范围。我的代码在

SELECT  titles.title, min(financial_info.revenue),max(financial_info.revenue),
DATEDIFF(year, date(min(financial_info.revenue), date(max(financial.revenue)))

production_company.release_date  
from titles 
left join financial_info on titles.id = financial_info.id  
left join production_company on 
titles.imdb_id = production_company.imdb_id

我遇到了汇总错误和语法错误

1 个答案:

答案 0 :(得分:0)

这种查询的一般格式为:

SELECT stuff
   , maxB.Y - minB.Y -- Or, in this case DATEDIFF instead of minus
FROM (SELECT MIN(x) AS minX, MAX(x) AS maxX FROM a) AS minMax
INNER JOIN a AS minA ON minMax.minX = minA.X
INNER JOIN a AS maxA ON minMax.maxX = maxA.X
INNER JOIN b AS minB ON minA.b_id = minB.b_id
INNER JOIN b AS maxB ON maxA.b_id = maxB.b_id
;

如果存在多个具有相同收入金额的条目,则最终可能会得到多个结果。 (最低收入为2,最高收入为3将产生6个结果。