我有一些游戏输赢记录,现在需要统计某个时间段赢的玩家总数和赢的玩家一共赢了多少钱(今天赢100,明天输200算输)
类似这样的语句
select count(user_id), sum(money) as m from log group by user_id where m > 0;
类似这样的语句
select count(user_id), sum(money) as m from log group by user_id where m > 0;
10 个回复
xinfanwang
赞同来自:
hjqtlq
赞同来自:
但是这个不是我想要的啊
首先,这个没有按照用户ID做聚合(group by user_id)
其次,这个无法运行在顶级节点,如果放在最外面会报错。
我就想获得这个时间段赢的玩家总数和这些玩家一共赢了多少钱。
我能通过的唯一比较靠谱的是这样的语句
xinfanwang
赞同来自:
给你提供个思路而已。
xinfanwang
赞同来自:
xinfanwang
赞同来自:
hjqtlq
赞同来自:
xinfanwang
赞同来自:
hjqtlq
赞同来自:
之前也说个这个问题了。
xsq5112 - 90后编程爱好者
赞同来自:
{
"query": {
"range": {
"m": {
"gt": 0
}
}
},
"aggs": {
"groupby_userid":{
"terms": {
"field": "user_id"
},"aggs": {
"sum_money": {
"sum": {
"field": "money"
}
}
}
}
}
}
mafa1993
赞同来自: