Den*_*one 2 sql-server coldfusion cfquery
我知道你可以得到你的查询中返回了多少项的计数,但是......问题:是否有可能得到一个recordcount具有特定值的行,例如......
<cfset totalReturned = myquery.recordcount>
<cfset totalReturnedComplete = myquery.recordcount (where status = "Complete")>
Run Code Online (Sandbox Code Playgroud)
我知道上面的内容不起作用,但我正在寻找类似上面代码的内容.
你有几个选择.您可以使用计数器循环查询,该计数器在status = "Complete"您可以使用查询查询时递增:
<cfquery name="mynewquery" dbtype="query">
SELECT status, COUNT(*) AS status_cnt
FROM myquery
GROUP BY status
</cfquery>
Run Code Online (Sandbox Code Playgroud)
但是,另一种方法是,因为您正在使用SQL Server,将修改您的初始查询(假设您有权访问),因此status = "Complete"使用SUM()窗口函数作为返回的计数:
<cfquery name="myquery" datasource="mydatasource">
SELECT id, status
, SUM(CASE WHEN status = 'Complete' THEN 1 ELSE 0 END) OVER ( ) AS complete_cnt
FROM mytable
</cfquery>
<cfset totalReturned = myquery.recordcount />
<cfset totalReturnedComplete = myquery.complete_cnt />
Run Code Online (Sandbox Code Playgroud)