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

标签 mysql mysql-workbench

我正在使用我制作的电影数据库,我想进行一个选择查询,分别选择收入最高的电影和值(value)最低的电影,并找到它们之间的时间范围

我尝试使用 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

我有聚合错误和语法错误

最佳答案

此类查询的一般格式为:

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 个结果)。

关于mysql - 我想知道是否有人知道如何找到最小值和最大值并找到它们之间的时间范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56048681/

相关文章:

php - 如何将确切的数据库时间戳与我的日期匹配

mysql - Laravel 如何与数据库交互

mysql - Sequelize where 和 andWhere

php - MySql 更新并将 null 设置为具有其他表外键的字段

java - 为什么mySQL数据库以小写字母保存字符串?

MySQL "Error 1005"添加表时

MYSQL 5.6 Innodb 缓冲池仅使用了 128G 中的 14%

mysql - 求 mysql 中的最大值

MySQL/Apache 冗余服务器设置

mysql - 使用工作台连接到两个MySQL