我正在尝试将我的 postgres 本机查询迁移到使用标准构建器。
我想要实现的是: select date_trunc('day',t.starttime) AS day, count(*) AS no_of_users from login_table t group by 1 order by 1
到目前为止,我还没有看到如何按 1 顺序构建组。
这是我已经走了多远:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<RequestPerWeek> cq = cb.createQuery(RequestPerWeek.class);
Root<TLogin> from = cq.from(TLogin.class);
String date = "week";
Expression<Calendar> dateTrunc=cb.function("date_trunc",Calendar.class,cb.literal(date), from.get(TLogin_.starttime).as(Calendar.class));
cq.select(cb.construct(RequestPerWeek.class,cb.count(from),dateTrunc));
我尝试了几种 groupby 替代方案,但没有人像我想要的那样工作:-|
最好的问候,hw