使用子查询的替代方案 - 无法在 Mysql 中创建视图

Alternative to using a subquery - can't create view in Mysql

我创建了一个视图,可以根据计算提取一系列行;使用这个脚本(根据这个问题: :

select t.*
from curdataEvents t cross join
     (select max(revs) as maxrev from curdataEvents) x
where t.revs >= x.maxrev - 100000;

这会拉出我需要的行范围。为了获得所需的报告 - 我必须创建多个视图,每个视图都创建报告的下一层。问题是 MySQL 不会使用子查询创建视图。关于如何重写上面的脚本会产生相同结果但允许我创建视图的任何想法?我已经尝试使用 UNION 子句等进行多种变体。让我感到困惑的是这是对自身的连接。到目前为止我发现的示例使用多个表。任何帮助是极大的赞赏!!!

谢谢

您可以使用子查询,但不要在 FROM 子句中。只需将其移动到 WHERE 子句即可;

CREATE VIEW view1 AS 
SELECT t.*
FROM curdataEvents t 
WHERE t.revs >= (SELECT MAX(revs) - 100000 AS maxrev FROM curdataEvents)

An SQLfiddle to test with.