我想先用时间排好序获取最新发布的,然后再分组,这样就得到每组中最新的一条!而我下面的写法得到的却不是最新的?请高手指教
SELECT ts.terminalVO, MAX(ts.id) AS id ,ts.expireTime, ts.addTime,ts.presentTime,ts.operaterTime,ts.operater FROM  TerminalStatusVO ts GROUP BY ts.terminalVO.id

解决方案 »

  1.   

    其实没必要所有程序都塞到hql中去判断,毕竟相比较jdbc,hql太弱了。
    楼主可以采用先排序然后在用循环把得出来相同得结果赛选出你想要的数据,不就实现了先分组在排序么。
    楼主方法是多种的,切记不要死脑筋哦
      

  2.   


    这是有区别的!分组再排是得到分组的排序,而排序再分组是得到排序的分组,数据完全不同!用sql是可以运行分组再排序,但hql不行,它会报错
      

  3.   

    ”用sql是可以运行分组再排序,但hql不行,它会报错“
    说反了 是sql可以运行排序再分组,hql运行不了