1

假设我有一个这样的数据集:

MONTH   REGION  SALES
NOV_2011    North   15000
NOV_2011    North   15000
OCT_2010    West    14000
NOV_2011    North   15000
OCT_2010    West    14000
OCT_2010    West    7000
APR_2010    North   3000
DEC_2011    South   24000
APR_2010    North   9000

我想按月和地区获得总销售额。

MONTH   REGION  SALES
APR_2010    North   12000
DEC_2011    South   24000
NOV_2011    North   45000
OCT_2010    West    35000

如果这些数据在关系表中,我可以很容易地编写一个 sql 来得到答案。所有数据库几乎可以立即给出答案(当然取决于数量、索引等)。我想使用 C++ 工具来做这种计算,因为有时这个任务不值得添加一个 sql 库。是否有数据结构算法可以使此类任务更容易?

4

1 回答 1

0

您可以使用std::map.

一个问题是您的数据包含重复的行。例如,其中月份 == NOV_2011 和区域 == 北部和销售额 == 15000。这使得使用std::map不切实际,因为您必须将值作为列表或其他容器(一个关键项,一个包含行索引的容器每个关键条目)。

大多数数据库设计人员通过重新设计表中的数据来加快访问速度。搜索“关系数据库规范化”。

于 2012-07-08T19:54:21.877 回答