我想使用一个查询的查询作为子查询,但我遇到了语法错误: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>
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>
您的另一个选择是手动处理查询对象并删除不需要的行。