如何只输出一次查询值?

时间:2019-06-12 20:03:13

标签: coldfusion cfml cfquery cfloop

我有返回四列的查询。多个记录之一的列可以具有相同的值。我只想输出一次该值。这是数据示例:

Rec ID  Name   Color  Year
45      Nick   Green  2018
34      Mike   Red    2018
37      Nick   Blue   2019
44      John   Pink   2019
23      Jimmy  Orange 2019

我使用以下代码输出值:

<cfoutput>
  <cfloop query="myQuery">
     <cfif fiscal_year gt 1991>
        <tr>    
            <td colspan="4"><a href="new_page.cfm?year=#year#>View All</a></td>
        </tr>
     </cfif>
     <tr>
        <td>#rec_id#</td>
        <td>#name#</td>
        <td>#color#</td>
        <td>#year#</td>
     </tr>
   </cfloop>
</cfoutput>

我的输出如下:

View All
45      Nick   Green  2018
View All
34      Mike   Red    2018
View All
37      Nick   Blue   2019
View All
44      John   Pink   2019
View All
23      Jimmy  Orange 2019

相反,我希望我的输出也是如此:

View All
45      Nick   Green  2018
34      Mike   Red    2018
View All
37      Nick   Blue   2019
44      John   Pink   2019
23      Jimmy  Orange 2019

最简单的方法是什么?

1 个答案:

答案 0 :(得分:4)

<cfoutput>标记具有group属性,该属性使您可以按列对查询数据进行分组。您可以将分组的数据嵌套在另一个<cfoutput>标签中,甚至可以按多列分组。它应该看起来像这样:

<cfoutput query="myQuery" group="year">
    <cfif fiscal_year gt 1991>
        <tr>    
            <td colspan="4"><a href="new_page.cfm?year=#year#">View All</a></td>
        </tr>
    </cfif>
    <cfoutput>
    <tr>
        <td>#rec_id#</td>
        <td>#name#</td>
        <td>#color#</td>
        <td>#year#</td>
    </tr>
    </cfoutput>
</cfoutput>