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

1 つの問題は、データに重複した行が含まれていることです。たとえば、月 == NOV_2011 および地域 == 北および売上高 == 15000 のstd::map場合、値をリストまたはその他のコンテナー (1 つのキー項目、行インデックスのコンテナー) として保持する必要があるため、非現実的です各キー入力)。

ほとんどのデータベース設計者は、テーブル内のデータを再設計することでアクセスを高速化します。「リレーショナル データベースの正規化」を検索します。

于 2012-07-08T19:54:21.877 に答える