【问题标题】:Ranking Values in .asp using Access使用 Access 对 .asp 中的值进行排名
【发布时间】:2012-08-29 14:43:11
【问题描述】:

对 .asp 和开发板相当陌生,所以请多多包涵。我正在尝试使用存储 24 条唯一记录(棒球队)的访问数据库,其中包含 TeamName、TeamUID(唯一 ID)、TotalHR、TotalRS、TotalWins 和 TotalLosses 的值。我想使用此表来显示团队在每个类别中的排名。例如,每个团队都有自己的页面,该页面基于他们的 TeamUID。我想显示他们在每个类别中的排名(第 1 到第 24 位),但无法弄清楚如何在页面中做到这一点。有什么建议吗?

【问题讨论】:

  • 您是否在通过查询编写订单或显示排名数字时遇到问题?
  • 我可以按任何列排序,但想知道如何在每个单独的页面上执行此操作?我想调用每个团队页面上的表格,并为每个类别中的每个团队显示不同的排名。数组会是要走的路吗?

标签: ms-access asp-classic ms-access-2007


【解决方案1】:

您可以使用 MS Access 分配等级,例如:

SELECT table1.ANumber, 
      (SELECT count(*) 
       FROM table1 t 
       WHERE t.anumber<=table1.anumber) AS rank
FROM table1
WHERE (((table1.ANumber) Is Not Null))
ORDER BY table1.ANumber;

针对 ADO 连接运行,您可以使用 GetStringGetRows 将其分配给字符串或数组。

上面的示例将给出一个重复的数字,其中 ANumber 有重复的值。例如:

ANumber Rank
-1      1
1       7
1       7
1       7
1       7
1       7
1       7
2       11
2       11

【讨论】:

  • 这可能对同一个表中的多个列进行吗?例如,我假设 ANumber 是 Wins,我是否也可以在同一张表中为 Losses 排名?
  • 桌子在哪里?不,您不能使用上述想法并对两个不同的列进行排名,但是,您可以为您显示的每组数据运行稍微不同的 sql,或者您可以简单地遍历有序的记录集或数组 ( getrows ) 并为在表格单元格中排名。
猜你喜欢
  • 1970-01-01
  • 2011-05-26
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多