【问题标题】:Unable to use RANK, OVER, WINDOW functions in MySQL Workbench v8.0.1MySQL Workbench v8.0.1 中无法使用 RANK、OVER、WINDOW 函数
【发布时间】:2021-12-06 23:23:13
【问题描述】:

根据以下版本检查,我正在使用 MySQL Workbench v8.0.1,但仍然无法使用 RANK()DENSE_RANK()WINDOWOVERPRECEDINGUNBOUNDED PRECEDING 和v8.0 及更高版本应支持的所有其他内容。

我的查询:

WITH daily_shipping_summary AS 
( 
    SELECT ship_date, SUM(shipping_cost) AS daily_total FROM market_fact_full AS m
    INNER JOIN shipping_dimen AS s
    ON s.ship_id = m.ship_id
    GROUP BY ship_date
)
SELECT *,
SUM(daily_total) OVER w1 AS running_total,
AVG(daily_total) OVER w2 AS moving_avg
FROM daily_shipping_summary
WINDOW w1 AS (ORDER BY daily_total ROWS UNBOUNDED PRECEDING),
w2 AS (ORDER BY daily_total ROWS 6 PRECEDING)

收到以下错误:
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'w1 AS running_total, AVG(daily_total) OVER w2 AS moving_avg FROM daily_shipp' at line 10

谁能帮我解决这个问题?

MySQL Workbench 版本详情

Variable_name Value
innodb_version 8.0.1
protocol_version 10
tls_version TLSv1,TLSv1.1
version 8.0.1-dmr-log
version_comment MySQL Community Server (GPL)

【问题讨论】:

  • 不要将代码发布为图片。请参阅此处了解更多详细信息原因:meta.stackoverflow.com/questions/285551
  • 工作台版本不相关;工作台只是一个客户端。 select version(); 显示什么?
  • 还有一个错字。多个WINDOW 就像多个WITH; WINDOW w1 as (...), w2 as (...),你不要重复WINDOW这个词
  • 出现以下错误:始终提供完整且未更改错误消息文本,而不是其中的一部分。如果客户端截断了消息的一部分,则通过 CLI 获取其完整的文本。
  • 如果你真的在运行8.0.1的服务器,那是很不寻常和不幸的; 8.0.0 到 8.0.4 版本是开发或发布候选版本,不用于生产用途

标签: mysql window-functions rank dense-rank


【解决方案1】:

使用单词WINDOW一次,然后在其后执行name as (spec), name2 as (spec2)

Example

如果您不打算重用窗口规范,请参阅有关内联操作的评论(或者即使重用规范,大多数时候更喜欢内联操作,这是我们倾向于做的事情,因为它避免了跳来跳去sql来计算什么是什么)

【讨论】:

  • 是的,这是一个错字...现在更新了我的查询,但仍然无法使用这些功能
  • 看我贴的那个例子;它在右侧有一个创建表和一个明显有效的查询,它使用两个不同的窗口函数(结果相对无意义,但没关系..) - 如果您准确地获取该查询对并将其粘贴到您的设置中,确实如此它工作与否? (在这种情况下,我会说你可能不得不咬紧牙关,升级你的 MySQL - 如果我能找到 8.0.1 版本,我会为你测试它)
  • 还是不行……我觉得ysth的回复就是原因! "Many version 8 features were incomplete or buggy in the early development versions before the first GA version 8.0.11."
猜你喜欢
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2019-11-16
  • 2016-05-14
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多