coldfusion - 如何只输出一次查询值?
问题描述
我有返回四列的查询。其中一列可以对多条记录具有相同的值。我只想输出该值一次。以下是数据示例:
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
实现这一目标的最简单方法是什么?
解决方案
该<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>
推荐阅读
- laravel - 函数 Database\Seeders\DatabaseSeeder::Database\Seeders\{closure}() 的参数太少
- image - 在 Flutter 中,如何从特定的“纹理坐标”显示图像并裁剪其余部分?
- c# - 负时间跨度到负时间双倍
- python - 错误 tweepy.errors.Forbidden: 403 Forbidden
- javascript - 如何在 React 中访问不在 JSX 中的 dom 元素?
- yaml - 我的掌舵图不起作用,但原来的 yamls 是
- python - python - 如何在x轴上的值范围上制作条形图并计算python中y轴上的范围?
- r - R中的observeEvent()函数
- python - 如果图中有多个子图,如何调整彩条位置?
- python - Python os.path.isdir() 不将文件夹视为文件夹