数据库中根据多个条件进行分组
select a, b, count(1) from tableA group by a, b
现在不使用sql,而直接使用java编写分组,则通过Java8根据多个条件进行分组代码如下:
List<User> list = Arrays.asList( new User("name1", "pwd1"), new User("name2", "pwd2"), new User("name1", "pwd2"), new User("name2", "pwd1"); new User("name1", "pwd1") ); list.stream().collect(Collectors.groupBy(User::getName), Collectors.groupBy(User::getPwd, Collectors.counting));
根据一个条件分组:
list.stream().collect(Collectors.groupBy(User::getPwd, Collectors.counting));