1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(YEAR(tb_time), '年第', WEEK(tb_time, 1), '周') AS week, SUM(number)' at line 7
时间: 2023-08-28 18:04:29 浏览: 96
抱歉,您遇到了一个语法错误。根据错误信息,问题出现在第7行的子查询中。
在MariaDB中,CONCAT函数的语法是CONCAT(str1, str2, ...),而不是CONCAT(str1, 'str2', ...)。因此,您需要将 '年第' 前后的单引号去掉。
修改后的查询语句如下:
```sql
SELECT SUM(total_number_before)
FROM (
SELECT
gongcheng_id,
CONCAT(YEAR(tb_time), '年第', WEEK(tb_time, 1), '周') AS week,
SUM(number) OVER (PARTITION BY gongcheng_id ORDER BY YEAR(tb_time), WEEK(tb_time, 1) ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS total_number_before
FROM fa_tianchuang
) t
GROUP BY t.gongcheng_id, t.week;
```
请尝试使用修改后的查询语句,如果还有其他问题,请随时告诉我。
相关问题
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near
"You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near" 是一个常见的 MySQL 错误信息。这个错误通常出现在您的 SQL 查询中存在语法错误的情况下。
要解决这个问题,您可以按照以下步骤进行操作:
1. 检查错误信息中提到的附近位置。它可能会指出具体的查询错误位置。
2. 查看您正在使用的数据库服务器的文档,以确定正确的语法和用法。根据错误信息中提到的 MariaDB 版本,查找相应版本的文档。
3. 仔细检查您的 SQL 查询,并确保语法正确。常见的错误包括拼写错误、缺少关键字、缺少引号等。
4. 如果您无法找到错误所在,可以将您的 SQL 查询代码提供给我,我将尽力帮助您找出问题所在。
请注意,为了确保安全性和避免 SQL 注入攻击,请始终使用参数化查询或预处理语句来构建和执行 SQL 查询。
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') engine=innodb default charset=utf8' at line 6
这个错误是由于 SQL 语法不正确导致的。根据错误消息,问题可能出现在第 6 行附近,检查一下语法是否正确。请确保在创建表时指定了表名和列定义,并且在适当的位置添加了逗号分隔符。另外,还要确认 MariaDB 服务器版本是否匹配所使用的 SQL 语法。如果问题仍然存在,建议参考 MariaDB 的官方文档或寻求相关帮助来解决该问题。