我创建了一个基于计算拉出一系列行的视图;使用此脚本(根据此问题:How to select Range of rows based on field values - MySQL:
select t.*
from curdataEvents t cross join
(select max(revs) as maxrev from curdataEvents) x
where t.revs >= x.maxrev - 100000;
这会拉动我需要的行范围。为了获得所需的报告 - 我必须创建多个视图,每个视图创建报告的下一层。问题是MySQL不会使用子查询创建视图。关于如何重写上面的脚本的任何想法都会产生相同的结果,但允许我创建一个视图?我已经使用UNION子句尝试了多种变体,等等。绊倒我的是这是对它自己的连接。我到目前为止使用多个表找到的示例。任何帮助是极大的赞赏!!!
由于
答案 0 :(得分:1)
您可以使用子查询,而不是在FROM子句中。只需将其移动到WHERE子句;
CREATE VIEW view1 AS
SELECT t.*
FROM curdataEvents t
WHERE t.revs >= (SELECT MAX(revs) - 100000 AS maxrev FROM curdataEvents)