Parameter
Last updated on
Mar 4, 2024
Description
This function sorts a query where the sorting algorithm is passed at runtime in the form of closure.
Returns
Returns the sorted query.
Category
History
- Adobe ColdFusion (2018 release): Returns the sorted query.
- Adobe ColdFusion (2016 release): Added the function
See also
Syntax
boolean QuerySort(Object query , UDFMethod sortFunc)
Parameters
|
Description |
query |
(Required) The query to be sorted. |
sortFunc |
(Required) Sort function to be used. |
Heading 1
<cfscript> myQuery = queryNew("id,name,amount","Integer,Varchar,Integer", [ {id=1,name="One",amount=15}, {id=2,name="Two",amount=18}, {id=3,name="Three",amount=32}, {id=4,name="Four",amount=53} ]); sortedQuery=QuerySort(myQuery,function(obj1,obj2){ return compare(obj1.name,obj2.name) // compare on names }) writeOutput("The sorted query is:") writeDump(sortedQuery) </cfscript>
Output
Example 2
<cfscript> qoptions = {result="myresult", datasource="cfbookclub", fetchclientinfo="yes"}; sampleQuery = QueryExecute("select * from books order by bookid", [] ,qoptions); sortStatus = QuerySort(sampleQuery, function(e1, e2){ return compare(e1.TITLE, e2.TITLE); }); writeOutput("Sort Successful: " & sortStatus); writeDump(sampleQuery); </cfscript>
The script sorts the query by Title. The script returns an array of structs.
Using member function
<cfscript> myResult=QueryExecute("SELECT * FROM EMPLOYEES",[],{datasource="cfdocexamples"}); status=myResult.sort(function (c1,c2){ return compare(c1.DEPARTMENT,c2.DEPARTMENT); }); WriteDump(myResult); </cfscript>
The output is a table with values in the column DEPARTMENT sorted.