Search:

Search all manuals
Search this manual
Manual
Couchbase Server マニュアル 2.0
Community Wiki and Resources
Couchbase Server 2.0をダウンロード
Couchbase 開発者ガイド 2.0
クライアントライブラリ
Couchbase Server フォーラム
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
9.10 Map/ReduceへのSQLの翻訳
Chapter Sections
Chapters

9.10.4. Map/ReduceへのSQL GROUP BYの翻訳

SQLでのGROUP BYパラメータは特定のフィールドによって一致したレコードのグループで集計情報を提供し、合計や全体値、もしくはカウント操作のため数値フィールドでよく使用されます。

例:

SELECT name,city,SUM(sales) FROM sales GROUP BY name,city

このクエリは 'name' と 'city' の2つのフィールドによって情報をグループ化し、これらの値の合計を生成します。これをCouchbase Serverでのmap/reduce関数に翻訳するには:

たとえば、上記の場合には、対応するmap関数をmap()として記述することができます:

Javascript
function(doc, meta) 
{
   emit([doc.name,doc.city],doc.sales);
}

これはキーとして名前と都市、そして値として売上高を出力します。SUM()関数を使用しているので、ビルトインreduce()関数の_sumを使用できます。

このmap/reduceの組み合わせの例は「ビルトイン関数 _sumで見ることができます。

より複雑なグループ化の操作は、カスタムreduce関数を必要とします。詳細については、「カスタムReduce関数の作成」を参照してください。