select time=convert(varchar,time,112)
,[user_id],question_id,answer_id
,number=count(*)
from 表A
group by convert(varchar,time,112)
,[user_id],question_id,answer_id 

解决方案 »

  1.   

    select time,user_id,question_id,answer_id, number(*) 
    from tb group by time,user_id,question_id,answer_id
      

  2.   

    修改一點
    select [time]=convert(varchar(10),[time],112),user_id,question_id,answer_id, number(*) 
    from tb group by convert(varchar(10),[time],112),user_id,question_id,answer_id
      

  3.   

    大家辛苦了!
    CONVERT在INFORMIX好像不支持.
    我用的是INFORMIX数据库,时间转换应该是用函数to_char(_time,'%Y%m%d'),但我在这个SQL语句中用这个函数依旧报语法错误,但我直接用select to_char(time,'%Y%m%d') from tb 就没问题..
      

  4.   

    原来是INFORMIX这种数据库啊,不会
      

  5.   

    select user_id,question_id,answer_id, number(*) 
    from tb group by user_id,question_id,answer_id没有TIME就可以
    但一加上时间的分组就报语法错误
      

  6.   

    用过INFORMIX的朋友再帮忙看看
      

  7.   

    问题已解决。
    只能写成group by 1 (如果to_char(time,'%Y%m%d')是select里的第一项)
    而不能写成 group by to_char(time,'%Y%m%d')
    再次感谢大家的帮助!