我有一個ColdFusion記錄如下所示:ColdFusion查詢對象操縱
id name
1 dog
1 dog
2 cat
2 cat
5 lion
的總記錄是5,但是我想在不改變我的SQL檢索總唯一的ID(在這種情況下3)使用ColdFusion。
我有一個ColdFusion記錄如下所示:ColdFusion查詢對象操縱
id name
1 dog
1 dog
2 cat
2 cat
5 lion
的總記錄是5,但是我想在不改變我的SQL檢索總唯一的ID(在這種情況下3)使用ColdFusion。
如果我正確理解你的問題,你想計算唯一的ID?使用查詢的查詢:
<cfquery datasource="quackit" name="GetAll">
select * from myTable
</cfquery>
<cfquery dbtype="query" name="GetUnique">
select distinct(id) from GetAll
</cfquery>
#GetUnique.recordCount#
的另一種方法是,以獲得ID添加到列表中,重複數據刪除它,再算上結果。
<cfset idList = valueList(myquery.id) />
<cfset dedupedIDlist = ListDeleteDuplicates(idList) />
<cfset uniqueIDcount = listLen(dedupedIDlist) />
<cfscript>
/**
* Case-sensitive function for removing duplicate entries in a list.
* Based on dedupe by Raymond Camden
*
* @param list The list to be modified. (Required)
* @return Returns a list.
* @author Jeff Howden ([email protected])
* @version 1, July 2, 2008
*/
function ListDeleteDuplicates(list) {
var i = 1;
var delimiter = ',';
var returnValue = '';
if(ArrayLen(arguments) GTE 2)
delimiter = arguments[2];
list = ListToArray(list, delimiter);
for(i = 1; i LTE ArrayLen(list); i = i + 1)
if(NOT ListFind(returnValue, list[i], delimiter))
returnValue = ListAppend(returnValue, list[i], delimiter);
return returnValue;
}
</cfscript>
ListRemoveDuplicates()另一種方式做同樣的事情,使用結構的功能,如果你添加一鍵已經存在它只是被覆蓋的結構體。
我從「Get .... from GetAll」中得到無效的對象名'GetAll' – Yannick
我忘了添加dbtype =「query」 – Yannick