首页 > 编程知识 正文

MongoDB sql分组查询以及Java操作MongoDB分组查询,sql语句排序分组查询

时间:2023-05-05 05:09:18 阅读:181812 作者:3074

一、使用MongoDB SQL 1、group方法分组(写法一) ) ) )。

select c_sender,c_sendtime,total,dep_ids,avgfromgoods _ ordergroupbyc _ sender,c _ send time db.get collece if(curr.dep_idcurr.dep_id!=''(str.indexof(curr.dep_id )=-1 ) ) { result.dep_ids =',' curr.dep_id; }、initial: { total : 0,dep_ids:'}、finalize:function(result ) { result.avg=result.total /2 ); 2、使用group方法分组(写法2 ) )。

select c_sender、total、dep_ids、avgfromgoods _ ordergroupbyc _ sender db.goods _ order.group ({ key : } c ) var str=result.dep_ids; if(curr.dep_idcurr.dep_id!=''(str.indexof(curr.dep_id )=-1 ) ) { result.dep_ids =',' curr.dep_id; }、initial: { total : 0,dep_ids:'}、finalize:function(result ) { result.avg=result.total /2 3、使用管道aggregate方法分组排序(写法3 ) ) )。

select c_sender,c_sendtime,sum(1) form goods _ orderwherec _ content like ' %您%' group by c_sender, C _ sendtimeorderbyc _ sendtimedescdb.goods _ order.aggregate ({ $ match : (c _ content : ) $regex3360 )您c _ send time : { millisecond 3360 } $ millisecond 3360 } second : { $ second 3360 ' $ c _ send time ' },minute 3360 $ hour : { $ hour 33660 } month : { $ month : ' $ c _ send time ' }、day : { $ day of month : ' $ c _ send time } 二. JAVA代码mongodb group方法Criteria criteria=new Criteria (); group by group by=new group by ' c _ sender ',' c_sendtime ' ).initialdocument'{total3360,dep _ ids 3360 ' } group List list=res.getRawResults ().get )、List.class ); //retval为固定//管道select c_sender,c_sendtime,count(1) from goods _ ordergroupbyc _ sender ASC,c _ sendtimedese //sum (字段) ).as ) ) XXX ); sortoperationsortoperation=aggregation.sort (sort.by ) sort.direction.from string (' desc ' )、 ' c_sender ' ).aggregation aggregation=aggregation.new aggregation (goods _ order.class,aggregation.match ) group operation aggregationresultsgoods_order result=mongo template.aggregate (aggregation,' goods _ order ',goods )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。