2

我想将查询查询用作子查询,但出现语法错误:Encountered "(. 这是我的查询(qHistoryData是我的查询对象):

<cfquery dbtype="query">
    SELECT *
    FROM (
        SELECT 
            t2.*,
            ROW_NUMBER() OVER(
                PARTITION BY collectid
                ORDER BY update_on DESC
            ) AS seqnum
        FROM qHistoryData t2
    ) t
    WHERE t.seqnum = 1;
</cfquery>
4

1 回答 1

4

Query of Queries 完全在 ColdFusion 应用层(用 Java 语言)实现,不涉及数据库,因此您无法使用数据库中可用的许多功能。

在您的查询中添加一个qHistoryData计算列ROW_NUMBER() OVER( PARTITION BY collectid ORDER BY update_on DESC ) AS seqnum,然后在您的查询查询中您可以执行以下操作:

<cfquery dbtype = "query">
SELECT *
FROM   qHistoryData
WHERE  seqnum = 1;
</cfquery>

您的另一个选择是手动处理查询对象并删除不需要的行

于 2019-10-28T15:03:22.747 回答