mapreduce 求教

cshiqin 2013-04-18 08:37:51
db.class.insert({class:1,student:1,subject :1,score:90 });
db.class.insert({class:1,student:1,subject :2,score:90 });
db.class.insert({class:1,student:1,subject :3,score:90 });
db.class.insert({class:1,student:2,subject :1,score:90 });
db.class.insert({class:1,student:2,subject :2,score:90 });
db.class.insert({class:1,student:2,subject :3,score:90 });
db.class.insert({class:2,student:1,subject :1,score:90 });
db.class.insert({class:2,student:1,subject :2,score:90 });
db.class.insert({class:2,student:1,subject :3,score:90 });
db.class.insert({class:2,student:2,subject :1,score:90 });
db.class.insert({class:2,student:2,subject :2,score:90 });
db.class.insert({class:2,student:2,subject :3,score:90 });

如何用mapreduce写每个班的每个科目的总分?
就是相当于sql中的
select class,subject,sum(score) from class group by class,subject;
mapreduce是不是只能求每个班的总分,或每个科目的总分呀?
就是
...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄瓜黄瓜 2013-05-09
  • 打赏
  • 举报
回复
可以统计每个班的人数,每个班的每个人的总成绩 你想要的统计 都可以的 不用mapreduce 用aggregate 里面有 $group $max $min $avg $sum
fengyun4hao 2013-04-19
  • 打赏
  • 举报
回复
GroupBy groupby=new GroupBy("function(doc){ return{'class':doc.class,true}; }") groupby.initialDocument("{total:0}"); groupby.reducefunction("function(doc,prev){ prev.total++; }") 在java程序中写的,用到了mongo的jar包
cshiqin 2013-04-19
  • 打赏
  • 举报
回复
没人回复,自己顶一下.
cshiqin 2013-04-19
  • 打赏
  • 举报
回复
引用 3 楼 fengyun4hao 的回复:
GroupBy groupby=new GroupBy("function(doc){ return{'class':doc.class,true}; }") groupby.initialDocument("{total:0}"); groupby.reducefunction("function(doc,p……
谢谢,你这是group by class 我要的是group by class,subject
cshiqin 2013-04-19
  • 打赏
  • 举报
回复
谢谢,你这是group by class 我要的是group by class,subject
cshiqin 2013-04-18
  • 打赏
  • 举报
回复
没人回复,自己顶一下.

1,798

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧