select * from (select * from Shop order by produce_Date desc) Shop where rownum<=5项目是用SSH搭建的,把这句写到项目里面报错,就是这个HQL语句报错,应该怎么写???

解决方案 »

  1.   


    select * 
      from (
            select t.* ,
                   row_number() over(order by t.produce_Date desc) rn
              from Shop t
            ) 
      where rn<=5
      

  2.   

    select * from (select * from Shop order by produce_Date desc) Shop where rownum<=5这个语句是没有问题的。关键是你用的SSH,HQL这些东西
      

  3.   

    你说的是在PL/SQL里写的语句还是在项目里写的???我把这个写到项目里头还是不对,跟以前报的错是一样的
      

  4.   

    在PL里确实对着呢,已经查出数据了,项目是用struts2,spring,hibernate搭建的,就是不知道写到dao层里头应该怎样写
      

  5.   

    查询结果没问题,order by与rownum貌似不可以连用,我的问题已经解决了,不过大家提的都没有用到,我换了一种方法显示出来了。
      

  6.   

    HQL不支持select * 这种写法,你换成具体字段试试。
      

  7.   

    HQL  from 后面跟得是 对象名,不是表明,也不需要些 select 直接from( from .....)即可。