首页 > 解决方案 > 将 row_number 与视图一起使用?

问题描述

我想row_number与视图一起使用,以便为每一行分配一个新的顺序 ID

CREATE VIEW feed AS 
SELECT * FROM (
SELECT id, title FROM books 
UNION ALL
SELECT id, title FROM movies) alias
ORDER BY id

我试过了:

CREATE VIEW feed AS 
SELECT *, ROW_NUMBER() OVER FROM (
SELECT id, title FROM books 
UNION ALL
SELECT id, title FROM movies) alias
ORDER BY id

但是没有运气,我哪里错了?

标签: mysqlwindow-functions

解决方案


关键字OVER后面必须跟:()

CREATE VIEW feed AS
SELECT *, ROW_NUMBER() OVER (ORDER BY id) FROM (
SELECT id, title FROM books
UNION ALL
SELECT id, title FROM movies) alias;

如果您没有 PARTITION 或 ORDER BY,括号可以为空,但在这种情况下,我会将 ORDER BY 放在里面,所以您确定它适用于 ROW_NUMBER()。


推荐阅读