下面是已经从数据库 Sample 表取出得数据
uid date hour clicks views
1 02-10 18 1 2
1 02-10 19 2 2
1 02-19 08 3 2
2 02-11 18 10 2
2 02-11 19 20 2
现在想要 [ group by ] ( uid, date ), 然后 clicks 求和,views 求和,hour 这一列不要了。
uid date clicks views
1 02-10 3 4
1 02-19 3 2
2 02-11 30 4
另外,如果一个 object 还有其他的字段,groupby 的时候不一定是求和,可能是其他运算。
晚上搜了一大堆都是简单的一个字段的 groupBy,像下面一样,且都是返回某个属性值 Long,
Map<String, Long> countMap = samples.stream()
.collect(
Collectors.groupingBy(o -> o.getUid(),
Collectors.summingLong(Sample::getViews)));
其实我想得到对象(比如 sample 对象),求教