Я хочу получить число userId после использования условия groupingBy для нескольких полей
моего класса модели.
public class ModelClass{
int bussAssId;
int trackingId;
int userId;
int month;
String day;
int hour;
String deviceType ;
//Setter and Getters
}
в классе обслуживания с использованием JpaRepositroy Я получаю Список данных.Здесь usedId может быть таким же, но trackingId будет уникальным.
List<ModelClass> sqlModelList=postgreSQLRepository.findByBussAssId(bussAssId);
здесь я хочу использовать условие groupingBy для месяца, дня, часа, deviceType и получить счетчик userId.
similer для:
select month,day,hour,device_type,PPC_TYPE,click_source,count(user_id) from ne_tracking_info group by month,day,hour,device_type;
Я использовал следующий код для группировки, но не понимал, как сортировать.
Map<Integer,Map<String,Map<Integer,Map<String,List<PostgreSQLModel>>>>> device=sqlModelList.stream().collect(Collectors.groupingBy(p->p.getMonth(),Collectors.groupingBy(p->p.getDay(),Collectors.groupingBy(p->p.getHour(),Collectors.groupingBy(p->p.getPrimaryKeys().getDeviceType())))));
вывод должен быть таким, как показано ниже: