我正在尝试按下面提到的逐个查询结果
描述:我有一个LogDetail表,它有created_date字段和UserId字段。我想知道每天有多少用户登录。 created_date列是DateTime类型
select t, count(t) from (select substr(created_date,0,10) as t from logdetail) group by t
如果我运行内部查询,它可以正常工作,但是当我运行嵌套查询时收到错误... "unexpected token: ( near line 1, column 32"
ID User LoginDate LogoutDate a000001 Arvind 06-05-17 12:15:00 06-05-17 12:13:00 a000002 Murty 07-05-17 12:15:00 07-05-17 12:51:00 a000003 John 07-05-17 12:15:00 07-05-17 12:42:00 a000004 John 07-05-17 02:27:00 07-05-17 03:25:00 a000001 Tej 08-05-17 12:15:00 08-05-17 02:15:00 a000001 John 08-05-17 12:15:00 08-05-17 01:55:00
上表中的预期结果
LoginDate Frequency 06-05-17 01 07-05-17 03 08-05-17 02
注意:源表有多个相同用户john的条目,第二个点是源日期字段有日期时间,所以首先我们需要从中获取日期部分然后应用分组
我正在寻找HQL或Criteria Builder查询中的解决方案。
有没有人有这个想法?
答案 0 :(得分:1)
您可以尝试以下
Select trunc(LoginDate), count(ID) from logdetail group by trunc(LoginDate);
select trunc(ld.loginDate), count(ld.Id) from logDetail ld group by trunc(ld.loginDate)
注意:在Hql查询中,根据列上的列映射进行映射
希望这能解决你的问题。