开发者社区> 问答> 正文

ClickHouse LIMIT BY 语句报错

druid版本:1.2.4

错误日志:

Cause: java.sql.SQLException: sql injection violation, dbType clickhouse, , druid-version 1.2.4, syntax error: syntax error, error in :'IT ? BY a, pos 297, line 11, column 18, token BY : SELECT

a,
b,
sum(c) as c
FROM table
WHERE
timestamp BETWEEN toDateTime(?) AND toDateTime(?)
  
GROUP BY a, b
ORDER BY c
LIMIT ? BY a

clickhouse limit by 说明文档:https://clickhouse.tech/docs/en/sql-reference/statements/select/limit-by/

可以支持下 clickhouse 的 limit by 语法吗?

原提问者GitHub用户kkrrsq

展开
收起
山海行 2023-07-05 18:10:53 111 0
3 条回答
写回答
取消 提交回答
  • 是druid版本的问题吗

    2023-11-16 21:17:10
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    看起来是在使用 ClickHouse 数据库中的 LIMIT BY 语句时出现了错误。这种错误通常是由于 LIMIT BY 语句的语法和参数使用问题,或者存在其他语法和语义问题导致的。

    为了解决这个问题,可以考虑以下几个方面:

    检查 LIMIT BY 语句的语法。在使用 ClickHouse 数据库中的 LIMIT BY 语句时,需要确保语法正确,遵循标准的 LIMIT BY 语法规范和语法要求。可以参考 ClickHouse 官方文档或者其他相关资料,了解 LIMIT BY 语句的语法和用法。

    检查 LIMIT BY 语句的参数使用。在使用 LIMIT BY 语句时,需要确保正确使用参数,并且参数的类型和值符合要求。可以参考 ClickHouse 官方文档或者其他相关资料,了解 LIMIT BY 语句的参数要求和使用方式。

    检查 LIMIT BY 语句的语义。在使用 LIMIT BY 语句时,需要确保语义正确,并且符合实际需求。可以使用 ClickHouse 查询工具或者其他工具来分析 LIMIT BY 语句的语义和执行计划,以确定是否存在语义错误或者性能问题。

    尝试其他的 SQL 查询方式。如果 LIMIT BY 语句无法满足需求,可以尝试其他的 SQL 查询方式,例如使用 GROUP BY 语句、窗口函数等。这些语法可以更好地支持各种 SQL 操作和语义。

    2023-07-30 20:10:00
    赞同 1 展开评论 打赏
  • 问题已修复,请用新版本

    https://github.com/alibaba/druid/releases/tag/1.2.5

    原回答者GitHub用户wenshao

    2023-07-06 10:48:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云 ClickHouse 企业版技术白皮书 立即下载
ClickHouse在手淘流量分析应用实践Jason Xu 立即下载
云数据库clickhouse最佳实践 立即下载