Если ваша группа только для удаления дубликатов из ваших результатов, я бы предложил использовать ваш запрос для их сокращения, тогда вы можете сделать cfloop (выбрать отличный и уменьшить список возвращаемых столбцов).
Если вы используете свою группу для «группировки» своих результатов, вы можете запустить счетчик в вашем цикле и оператор cfif в первом цикле, чтобы пропустить последующие результаты.
Вы можете подделать группу по опции в вашем cfloop, сопоставив значение из предыдущей строки, если вам нужен cfbreak
<cfloop query="queryname">
<cfif queryname.column[currentrow-1] neq queryname.column[currentrow]>
#queryname.column#
</cfif>
</cfloop>
Случайная заметка: вы можете максроу на любом / всех уровнях вашего сгруппированного cfoutput
<cfset tmp = querynew('id,dd')>
<cfloop from="1" to="20" index="i">
<cfset queryaddrow(tmp,1)>
<cfset querysetcell(tmp,'id',rand(),i)>
<cfset querysetcell(tmp,'dd',(i mod 4),i)>
</cfloop>
<cfquery dbtype="query" name="tmp">select * from tmp order by dd</cfquery>
<cfoutput query="tmp" group="dd" maxrows="2">#dd#<br
<ul>
<cfoutput maxrows="2" group="id"><li>#id#</li></cfoutput>
</ul>
</cfoutput>