【bwin必赢亚洲手机版app】sql去重统计,mongo数据

作者:计算机知识

表名:parkUserCost
id:
patkId:
userId:
phone:
costVal:

有一张数据库,存款和储蓄的是从kafka过来的流水数据,由于叁遍误操作,导致有些数据出现的两份,已经引起线上难点,要求开始展览修复。

Date lastExcTime=new Date();

SELECT count(distinct imei)
  FROM [【bwin必赢亚洲手机版app】sql去重统计,mongo数据去重。VPDB].[dbo].Stat_NochanelPage

适合特定条件下,对一些字段进行去重筛选。(譬喻限制抢购)

第一种,使用(first操作符。)first 会把数组的第多个成分收取,作为二个目的。

db.tablecardlogin.aggregate([{

 $group: {

//遵照上述字段聚合

_id:{account:'$account', customerId:'$customerId', openid:'$openid',opt_time: '$opt_time'},

//然后求和放入count字段中

count:{$sum:1},

//收取每一条的id加到重临值中的dups字段中

dups: {$addToSet: '$_id'}

}

},

{

$match:{

//选择count大于1的

count:{$gt:1}

},

}],

//数据集太大,必要支持放到磁盘计算

{allowDiskUse: true}

).forEach(function(doc){

//删除dups数组中的第贰个成分

doc.dups.shift();

//从数据库中删除

db.tablecardlogin.remove({_id: {$in: doc.dups}});

})

CommandResult result = mongoTemplate.getDb().command(

// 第一种(可转java版本)
db.getCollection('parkUserCost').aggregate([
   {"$match" : {
      "$and" : [
          // {"name" : "1640"} // 筛选条件
           ]
           }
        },
    {"$group" : {
        "_id" : "$phone",
        "val" : {"$first" :  "$costVal" },
        }},
    {"$group" : {
         "_id" : {},
        "totalVal" :{"$sum" : "$val"}
         }}
])

new BasicDBObject("distinct", "homeLog").append("key",

本文由bwin必赢发布,转载请注明来源

关键词: 日记本 Java bwin娱乐