id   fenleiid  biaoti 三个字段
动态取得四个fenleiid    再用每个fenleiid取2条记录
取分类id我已经实现
其他的怎么处理   谁会写(select DISTINCT FENLEIID FROM 
(select FENLEIID from WSJ_DIAOCHABIAOTI order by DIAOCHASHIJIAN desc)
where rownum<=4)

解决方案 »

  1.   

    select * from 
    (select t.*,row_number() over (partition by fenleiid order by DIAOCHASHIJIAN desc) r from wsj_diaochabiaoti t)
    where r<3 and rownum<9
      

  2.   

    jacobrong79  谢谢
    直接运行没问题
    但是用到hibernate里就出错  能给个解决方法吗
    这是 bean中原字段
    private Long id;
    private Long fenleiid;
        private String fenleiName = "";
        private String biaoti = "";
        private java.util.Date diaochashijian = new java.util.Date();bean名是Diaochabiaoti这是hql语句
    select ID,FENLEIID,FENLEINAME,BIAOTI,DIAOCHASHIJIAN from 
    select t.*,row_number() over (partition by fenleiid order by DIAOCHASHIJIAN desc) r from Diaochabiaoti t)
     where r<3 and rownum<9 order by DIAOCHASHIJIAN desc怎么改
      

  3.   

    嘎嘎,沒接觸過hibernate和hql语句.
    你列出的hql語句是不是少了一個左括號阿?(select t.*,row_number()