如何将特定记录放在列表顶部

Posted

技术标签:

【中文标题】如何将特定记录放在列表顶部【英文标题】:How to position specific record(s) at top of list 【发布时间】:2018-11-22 21:32:46 【问题描述】:

我正在处理查询中的所有货币类型和汇率。由于它们是最受欢迎的,是否可以在按字母顺序显示其余货币代码之前将 USD 和 EUR 置于查询列表的顶部?

【问题讨论】:

【参考方案1】:

假设您的表名为 tblRate,有两列,Rate 和 Curr。 创建一个查询,该查询使用 Switch 函数将排名顺序分配给 USD(排名顺序 1)、EUR(排名顺序 2)。 使用 Nz 函数将排名顺序 3 分配给所有其他货币。 在您的查询中,您按排名排序,然后按货币排序。

SQL 视图:

SELECT Rate, Curr
FROM tblRate
ORDER BY Nz(Switch(Curr = "USD",1, Curr = "EUR",2),3), Curr

【讨论】:

【参考方案2】:

如果您有一个为列表提供源数据的表格,请在表格中添加一个“OrderNum”列,然后将 1 和 2 分别放入 USD 和 EUR。然后,在其他所有内容中,输入一个更大的数字,例如 3。如果它们之后都需要按照字母顺序排列,则使排序命令在向列表框或下拉列表提供数据的查询中具有两个变量。如果包含货币代码的表称为“tblCurrencyCode”,包含代码的字段称为“CurrencyCode”,您的代码将如下所示:

选择货币代码 FROM tblCurrencyCode ORDER BY OrderNum ASC, CurrencyCode ASC

【讨论】:

【参考方案3】:

另一种方法是:

从您的货币表中为最常用的货币创建一个查询,然后将该列表与您的货币列表查询相结合。

类似的东西。

Select currency 
from QryMostUsedCurrencies
Union all
Select currency from CurrencyTable
where currency not in (select currency from QryMostUsedCurrencies)

通过这种方式,您可以在单独的查询中保留最常用货币的列表。通过动态查看过去的交易或从货币表中简单地选择查询来查找您想要显示在顶部的那些项目。 这可以帮助您在一个地方更改您的most used 货币,而不是在多个地方对 sql 进行排名。

【讨论】:

以上是关于如何将特定记录放在列表顶部的主要内容,如果未能解决你的问题,请参考以下文章

如何将renderDataTable的过滤器放在R闪亮的顶部

如何删除 x 没有。具有特定条件的从顶部开始的行数

如何在 Access 的子窗体上不显示选定的记录?

将物品贴在recyclerview的顶部

在列表顶部查找并移动特定项目

如何将我的标题放在 ImageView 的顶部