GROUP BY dates1 
date1不能是外层查询字段的别名

解决方案 »

  1.   

    你子查询哪里定义了DATES1的别名? 应该为dates 吧
      

  2.   

    你子查询哪里定义了DATES1的别名? 应该为dates 吧

    select t2.*,TO_CHAR(t2.dates,'YYYY-MM-DD') dates1 from (select rownum r,t1.* ,TO_CHAR(T1.CREATETIME,'YYYY-MM-DD') dates 
    from USERACCOUNT t1 
    where rownum<18 AND CREATETIME BETWEEN TO_DATE('2011-05-17 13:16:16', 'YYYY-MM-DD HH24:MI:SS:') and TO_DATE('2013-09-23 10:28:42', 'YYYY-MM-DD HH24:MI:SS:')
    ) t2
    where t2.r>15 
    GROUP BY dates1 
    ORDER BY dates1;这样的也不行
      

  3.   


    select t2.* from 
    (select rownum r,t1.* ,TO_CHAR(T1.CREATETIME,'YYYY-MM-DD') dates 
    from USERACCOUNT t1 
    where rownum<18 AND CREATETIME BETWEEN TO_DATE('2011-05-17 13:16:16', 'YYYY-MM-DD HH24:MI:SS:') and TO_DATE('2013-09-23 10:28:42', 'YYYY-MM-DD HH24:MI:SS:')
    ) t2
    where t2.r>15 
    GROUP BY dates 
    ORDER BY dates;字查询里别名也不行,而且子查询是能查到信息的,就是不能GROUP BY dates ,提示:[Err] ORA-00979: not a GROUP BY expression
      

  4.   

    1,GROUP BY dates1 中date1不能是外层查询字段的别名;
    2,“select t2.*,TO_CHAR(t2.dates,'YYYY-MM-DD') dates1 from”,除了聚合函数外,select 后只能出现GROUP BY后有的字段
      

  5.   

    你想聚合什么字段统计,如果不需要的就直接
    select t2.* from 
    (select rownum r,t1.* ,TO_CHAR(T1.CREATETIME,'YYYY-MM-DD') dates 
    from USERACCOUNT t1 
    where rownum<18 AND CREATETIME BETWEEN TO_DATE('2011-05-17 13:16:16', 'YYYY-MM-DD HH24:MI:SS:') and TO_DATE('2013-09-23 10:28:42', 'YYYY-MM-DD HH24:MI:SS:')
    ) t2
    where t2.r>15
      

  6.   


    select t2.* from 
    (select rownum r,t1.* ,TO_CHAR(T1.CREATETIME,'YYYY-MM-DD') dates 
    from USERACCOUNT t1 
    where rownum<18 AND CREATETIME BETWEEN TO_DATE('2011-05-17 13:16:16', 'YYYY-MM-DD HH24:MI:SS:') and TO_DATE('2013-09-23 10:28:42', 'YYYY-MM-DD HH24:MI:SS:')
    ) t2
    where t2.r>15 
    GROUP BY dates 
    ORDER BY dates;字查询里别名也不行,而且子查询是能查到信息的,就是不能GROUP BY dates ,提示:[Err] ORA-00979: not a GROUP BY expression
    子查询能查到信息是正常的,你这里的GROUP BY报错,你应该再认真看5楼的第二点
      

  7.   

    试试这个
    select t2.dates1 from (select rownum r,t1.* ,TO_CHAR(T1.CREATETIME,'YYYY-MM-DD') dates1 
    from USERACCOUNT t1 
    where rownum<18 AND CREATETIME BETWEEN TO_DATE('2011-05-17 13:16:16', 'YYYY-MM-DD HH24:MI:SS:') and TO_DATE('2013-09-23 10:28:42', 'YYYY-MM-DD HH24:MI:SS:')
    ) t2
    where t2.r>15 
    GROUP BY dates1 
    ORDER BY dates1;
      

  8.   

    按天聚合什么?金额?记录数?,好好看看group by是怎么用的吧
      

  9.   

    SELECT T2.* 
    FROM (
    SELECT T.*, ROWNUM R 
    FROM (
    SELECT  COUNT(T1.CREATETIME ) ,TO_CHAR(T1.CREATETIME,'YYYY-MM-DD') DATES 
    FROM USERACCOUNT 
    T1 
    WHERE ROWNUM<100 AND CREATETIME BETWEEN TO_DATE('2011-05-17 13:16:16', 'YYYY-MM-DD HH24:MI:SS:') AND TO_DATE('2013-09-23 10:28:42', 'YYYY-MM-DD HH24:MI:SS:') 
    GROUP BY TO_CHAR(T1.CREATETIME,'YYYY-MM-DD') 
    ORDER BY TO_CHAR(T1.CREATETIME,'YYYY-MM-DD')
    )T
    )T2  WHERE T2.R>15最终答案