1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql视图子查询_MySQL:FROM子句限制中的带有子查询的视图

mysql视图子查询_MySQL:FROM子句限制中的带有子查询的视图

时间:2019-05-13 02:29:00

相关推荐

mysql视图子查询_MySQL:FROM子句限制中的带有子查询的视图

我有同样的问题。我想创建一个视图来显示最近一年的信息,该视图从一张记录了至记录的表格中显示。这是原始查询:

SELECT a.*

FROM a

JOIN (

SELECT a.alias, MAX(a.year) as max_year

FROM a

GROUP BY a.alias

) b

ON a.alias=b.alias and a.year=b.max_year

解决方案概述:

为每个子查询创建一个视图

用这些视图替换子查询

这是解决方案查询:

CREATE VIEW v_max_year AS

SELECT alias, MAX(year) as max_year

FROM a

GROUP BY a.alias;

CREATE VIEW v_latest_info AS

SELECT a.*

FROM a

JOIN v_max_year b

ON a.alias=b.alias and a.year=b.max_year;

它在mysql 5.0.45上运行良好,没有太多的速度损失(与执行没有任何视图的原始子查询select相比)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。