MySQL 最后一行有序视图

MySQL last rows ordered view

我可以从 MySQL table 中获取最后 50 行并对其进行排序:

(SELECT * FROM RawData ORDER BY N DESC LIMIT 50) ORDER BY N ASC;

当我尝试创建如下视图时出现错误:

CREATE VIEW `new_view` AS
(SELECT * FROM RawData ORDER BY N DESC LIMIT 50) ORDER BY N ASC;

如何创建最后 50 行按升序排列的视图?

P.S。 存储过程:

CREATE DEFINER=`MySQL_Admin`@`%` PROCEDURE `GetLast50`()
BEGIN
(SELECT * FROM mkdb.RawData ORDER BY N DESC LIMIT 50) ORDER BY N;
END

工作正常。

您需要 select 来订购

CREATE VIEW `new_view` AS
select * from (SELECT * FROM RawData ORDER BY N DESC LIMIT 50) S ORDER BY N ASC;

创建视图时,您必须 SELECT 从 table 另一个查询

CREATE VIEW `new_view` AS
select * from (SELECT * FROM RawData ORDER BY N DESC LIMIT 50) ORDER BY N ASC;

然后您可以再次 SELECT 来自 查看的内容