TrinoUserError (type=USER_ERROR, name=SYNTAX_ERROR, message="line 7:26: mismatched input 'COUNT'. Expecting: '*', <expression>")
TrinoUserError (type=USER_ERROR, name=SYNTAX_ERROR, message="line 7:26: mismatched input 'COUNT'. Expecting: '*', <expression>")
我正在使用 dbt-trino,出于某种原因,它不理解直接在 MySQL 上执行的 MySQL 查询。在此查询中,我想 select 对上个月创建的记录进行分组。
查询:
SELECT order_location, COUNT(*) as order_count
FROM {{ ref('x_stg_order_fields') }}
WHERE
created_at >= DATE_FORMAT( CURRENT_DATE - INTERVAL 1 MONTH, '%Y/%m/01' )
AND
created_at < DATE_FORMAT( CURRENT_DATE, '%Y/%m/01' )
GROUP BY order_location
虽然此查询直接在 MySQL 上快速且成功地运行,但它 returns 在使用 dbt 运行 执行时出现此错误:
TrinoUserError(type=USER_ERROR, name=SYNTAX_ERROR, message="line 7:53: mismatched input 'COUNT'. Expecting: '*', <expression>")
这是否意味着 dbt-trino 不支持所有 MySQL 功能?
该错误来自您的数据库,而不是来自 dbt 本身。 dbt 不解析您的 SQL 命令,它只是将它们传递给您连接的数据库。
我的猜测是 {{ ref('x_stg_order_fields' }}
可能指的是一个包含语法错误的临时模型,或者可能是一个名为 count
的字段未被引用?
您可以通过检查项目中的 target
目录,查看 dbt 试图 运行 在您的数据库中的 SQL 来确认或反驳这一点。具体来说,target/run/path/to/your_model.sql
将向您显示正在执行的实际命令。您应该能够检查该文件中的第 7 行,第 53 列,您将看到 trino 出错的代码。
我正在使用 dbt-trino,出于某种原因,它不理解直接在 MySQL 上执行的 MySQL 查询。在此查询中,我想 select 对上个月创建的记录进行分组。 查询:
SELECT order_location, COUNT(*) as order_count
FROM {{ ref('x_stg_order_fields') }}
WHERE
created_at >= DATE_FORMAT( CURRENT_DATE - INTERVAL 1 MONTH, '%Y/%m/01' )
AND
created_at < DATE_FORMAT( CURRENT_DATE, '%Y/%m/01' )
GROUP BY order_location
虽然此查询直接在 MySQL 上快速且成功地运行,但它 returns 在使用 dbt 运行 执行时出现此错误:
TrinoUserError(type=USER_ERROR, name=SYNTAX_ERROR, message="line 7:53: mismatched input 'COUNT'. Expecting: '*', <expression>")
这是否意味着 dbt-trino 不支持所有 MySQL 功能?
该错误来自您的数据库,而不是来自 dbt 本身。 dbt 不解析您的 SQL 命令,它只是将它们传递给您连接的数据库。
我的猜测是 {{ ref('x_stg_order_fields' }}
可能指的是一个包含语法错误的临时模型,或者可能是一个名为 count
的字段未被引用?
您可以通过检查项目中的 target
目录,查看 dbt 试图 运行 在您的数据库中的 SQL 来确认或反驳这一点。具体来说,target/run/path/to/your_model.sql
将向您显示正在执行的实际命令。您应该能够检查该文件中的第 7 行,第 53 列,您将看到 trino 出错的代码。