【发布时间】:2019-01-08 01:26:01
【问题描述】:
我在 MySQL 工作台中使用以下查询,并且在函数排名附近出现错误。我认为 MySQL 可能不支持支持 Rank() over function。因此,任何人都可以帮助成功运行这个吗?
select STORE_CODE, 'GBP', "SALES WITHOUT VAT", 'UK' from(
select STORE_CODE, "SALES WITHOUT VAT", RANK() OVER(ORDER BY "SALES WITHOUT VAT" DESC) AS RANK
from( select store_code, sum("SALES WITHOUT VAT") as "SALES WITHOUT VAT"
from( select c_site AS STORE_CODE, case when c_currency = 'GBP' then A_SALES_EXVAT_REAL
when c_currency = 'EUR' then round(A_SALES_EXVAT_REAL * ukurs ,3) end as "SALES WITHOUT VAT"
from kf_move01.salesticket_line left outer join
(select ukurs, to_date(99999999-gdatu), year(to_date(99999999-gdatu)) as year, month(to_date(99999999-gdatu)) as month
from "KF_MOVE01"."TCURR"
where mandt = 201 and kurst = 'M' and tcurr = 'GBP' and fcurr = 'EUR'
order by 99999999-gdatu desc) as tcur
on tcur.year = year(d_year_month_day) and tcur.month = month(d_year_month_day)
where id_opco = 2 and c_comp_code in ('BQ10', 'BQ20','BQ30','BQ40')
and d_year_month_day between add_days(now(),-181) and add_days(now(),-1))
group by store_code
order by 2 desc ) ) where rank <= 5;
错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '( ORDER BY "SALES WITHOUT VAT" DESC ) FROM (SELECT' at line 6 0.000 sec Java error: SAP DBTech JDBC: [279] (at 179) 附近使用正确的语法): group 函数是嵌套的:line 1 col 180 (at pos 179)
在线sql检查器错误:
您的 SQL 语法有错误;似乎错误就在附近:'( ORDER BY "SALES WITHOUT VAT" DESC ) AS RANK from( ' at line 10
【问题讨论】:
-
MySQL Workbench 只是将您的查询发送到 MySQL,因此它不必支持任何 MySQL 函数并且不会给您 SQL 错误。该错误来自 MySQL 本身。
-
除非您向我们提供完整的错误信息,否则我们无法为您提供帮助
-
但它不起作用。它给了我一个语法错误。
-
mysql 中的错误:错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '( ORDER BY "SALES WITHOUT VAT" DESC ) FROM (SELECT' at line 6 0.000 sec Java error: SAP DBTech JDBC: [279] (at 179) 附近使用正确的语法): group 函数是嵌套的: line 1 col 180 (at pos 179) Online sql checker error: You have an error in your SQL syntax;似乎错误在附近:'( ORDER BY "SALES WITHOUT VAT" DESC ) AS RANK from(' 在第 10 行
-
和来自 mysql :我在 OVER 附近收到语法错误,说缺少右括号
标签: mysql