在 mysql 8.0.17 中找不到 ROW_NUMBER() 函数?

Cannot find ROW_NUMBER() function in mysql 8.0.17?

我使用 AppServ 包设置我的 Web 服务:Apache + PHP + MySQL,下载自 https://www.appserv.org/en/

Mysql版本是8.0.17,phpMyAdmin是4.9.1

当我尝试在 phpMyAdmin 中使用 ROW_NUMBER() 函数时,它总是告诉我一些错误。 最后,我觉得我的 Mysql 可能不包含此功能。

可能吗?以及如何验证它(mysql 没有 row_number())以及如何解决它?

row 根据 documentation.

是 mysql 8.0.2+ 中的保留字

这应该有效:

SELECT custid, 
email, 
ROW_NUMBER() OVER ( PARTITION BY email ORDER BY email ) AS `row` 
FROM customers;

或者您可以放弃 row 以获得 non-problematic,例如 AS rn

请注意,按电子邮件分区并同时按电子邮件排序没有多大意义。

Fiddle