有个注册的用户表,现在为了在后台能够查询某个年份中一月份,二月份.....十二月份中分别有哪些用户注册,然后再页面显示。请教该怎么查询啊,sql语句怎么写啊!!格式大概如下,给个参考! 给个思路也行!!
年月                          用户名                注册ip             积分
2011年一月                ffffffff                 ..........                .......
2011年一月                bbbb                 ..........                .......
2011年二月                aaaa                 ..........                .......
2011年三月                ccccc                 ..........                .......

解决方案 »

  1.   

    select  row_number() over(partition by time order by name desc) rn ,name , time  from test
      

  2.   

    select * from table where to_char(to_date(时间,'yyyy-mm-dd'),'mm')=几月
      

  3.   

    各位,自己想到了一个:如SELECT year(date) as year, month(date) as mon, count(date) as num FROM tb_user WHERE year(date) = '2011' GROUP BY mon
    虽然可以,但是我的项目是用Hibernate做的,虽然可以分组了,但不知道怎么把数据拿出来,然后保存起来,最后在前台显示!!求教一下各位!!用hibernate的hql语句怎么写啊???
      

  4.   

    hibernate也支持sql语句啊,你看一下API吧,你的sql语句可以是hql的,也可以是sql的啊。
      

  5.   

    嗯,这个知道啊!但是不知道怎么能够把分组好数据拿出来哦,能不能提供下思路啊??因为我刚刚那条sql语句不是针对对象查询的,所以selece出来的结果不知道怎么拿出来??
      

  6.   

    用sql吧 这种复杂的sql 转化成hql 很费劲
      

  7.   

    Class 为你要返回的数据的vo模型 public List querySql(String sql, int start, int limit,Class clazz) {
    Session session = getSession();
    session.clear();
    Query query = session.createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(clazz));
    query.setFirstResult(start > 0 ? start : 0);
    query
    .setMaxResults(limit > 0 && limit < Constants.QUERY_PAGE_MAX_SIZE ? limit
    : Constants.QUERY_PAGE_MAX_SIZE);
    List ls =  query.list();
    releaseSession(session);
    return ls;
    }