mySQL语句报错 求原因

问题遇到的现象和发生背景

表格包含用户ID(ID),用户种类(type)和访问次数(visit),使用mySQL写语言确定访问次数前20%的用户

问题相关代码,请勿粘贴截图

select *
from
(select id, type, visit,
row_number()over(order by visit desc) visit_rank
from visit_tracking) as a
where visit_rank>(select max(visit_rank) from a)*0.2;

运行结果及报错内容

Table 'new_schema.a' doesn't exist

我的解答思路和尝试过的方法

可是我在from语句里已经定义过表格a了为什么会显示不存在

select *
from
(select id, type, visit,
row_number()over(order by visit desc) visit_rank
from visit_tracking) as a
where visit_rank>max(visit_rank)*0.2;
这样试试呢