这个hql也很简单,lz你总是说错也不见你的错到底是什么。。ps:估计不是你的hql有问题是不是你的hibernate执行查询的方法有问题??

解决方案 »

  1.   

    stu有班级主键是怎么回事?一个班级只有一个学生?
      

  2.   

    Criteria criteria = session.createCriteria(stu.class);
    criteria .setProjection( Projections.projectionList()
            .add( Property.forName("classID") )
            .add( Property.forName("Height") )
        )
        .addOrder( Order.desc("Height") );
    criteria.setMaxResults(1);
    没测试过,不保证对啊..
      

  3.   

    select * from class where classid=(select classid from stu where height=(select max(height) from stu))  你看一下这样行不行。
      

  4.   

    huanglin02 你理解错了  我现在是要 查询出class的全部信息里的 并且每个班级的学生最高的的那位也要查询出来,相当于现在班级表的数据 只能是 一个班级 对应一个学生了。
    数据结果显示比如:
    class.cid  stu.uid  class.uid  class.uname   class.cname  class.uid.Height(M)
       1           4        4        张三          高三一班         1.75
       2           5        5        李四          高三二班         1.85
       3           6        6        王五          高三三班         1.79
       4           7        7        赵六          高三四班         1.89
    查询出来应该是这样的才对
      

  5.   

    这个略复杂 用一条语句我写不出来啊 我sql也不咋滴··
    但是用存储过程跟程序去写还是能搞出这个效果的
    给个思路:
    第一步 查出来所有的班级
    第二步 查出该班级最高的学生
    第三部 把没个班级最高的学生添加到一个集合
    这个集合就是你需要的结果了吧!