数据库:Oracle需求:表TT中,有一列update_time,表示入库时间,格式为yyyy-mm-dd hh24:mi:ss,库中数据基本是每秒存入一条,现在做统计时为提高效率,希望能按照分钟来选取数据,即每分钟只得出一条记录,不知道用SQL能否实现?

解决方案 »

  1.   

    入库的sql时间字段写成trunc(sysdate,'mi')
      

  2.   

    哦,不用这样.统计的时候用trunc(update_time,'mi')代替原来统计时的update_time
      

  3.   

    请问完整SQL? 不是要显示的时候截取到分钟,而是希望每分钟只取一条,从而减小数据量。原始数据大概每分钟有50-60条
      

  4.   

    可以用分析函数排序取第一条
    类似
    select id,updatetime from (select id,updatetime,row_number()over(partition by trunc(updatetime,'mi') order by updatetime asc) rn from table)
    where rn=1
      

  5.   

    trunc(update_timem,'mi')  加聚合 或者分析函数 只取一条