最近需要在界面实现用户登录统计功能,实现在某个时间段,登录人数范围 ,最后登录时间 查询出相应的记录
用到了group by 和having
hql语句如下,
Object[] pramas ={ timeBegin ,timeEnd,mincount ,maxcount};
return syslogDao.findForPage("select username ,count(id) , max(createtime) from Syslog " +
" where createtime > ? and createtime < ? " +
"group by username having count(id) > ? and count(id) < ?", pramas ,pageSize ,page);
前台使用struts2标签取值,需要注意定义id="list"
<s:iterator value="pageBean.list" status ="index" id="list">
用户名: <s:property value="#list[0]"/>
登录次数:<s:property value="#list[1]"/>
最后登录时间: <s:date name="#list[2]" format="yyyy-MM-dd HH:mm:ss"/>
</s:iterator>