gpt4 book ai didi

c++ - 如何像在关系数据库中一样计算聚合

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:53 25 4
gpt4 key购买 nike

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

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 库。是否存在可以简化此类任务的数据结构算法?

最佳答案

您可以使用 std::map 为列中的键构建索引表。

一个问题是您的数据包含重复行。例如,其中 month == NOV_2011 和 region == North 以及 Sales == 15000。这使得使用 std::map 不切实际,因为您必须将值作为列表或其他容器(一个键项,每个键项的行索引容器)。

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

关于c++ - 如何像在关系数据库中一样计算聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11384856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com