我正在尝试编写报告(Solaris 上的 DB2 9.5)来执行以下操作:
我有一组数据,假设它是一个订单表。我想运行一份报告,该报告将为我提供每个月每个客户的订单数量以及他们当月的“排名”。排名将基于订单数量。我正在玩弄 RANK() OVER 子句,但我似乎无法让它每月给我一个排名(或其他“分组依据”)。如果有 100 位客户和 12 个月的数据,我希望报告中有 1200 行,每月 100 行,每行的排名在 1 到 100 之间。如果更多详细信息有帮助,请告诉我。提前致谢。
解决方案是使用 PARTITION BY 子句。
例如,请参阅此处的第 5 页:http: //cmsaville.ca/documents/MiscDocs/TopNQueries.pdf