select BIGID,LITTLEID,RECORDID,TIME from 表
where bigid in (...)
  and littleid in (...)
  and time<=值
group by BIGID,LITTLEID,RECORDID,TIME

解决方案 »

  1.   

    to zhenyukeji(何处是我家) :
    如果我各个小类里面的记录的时间不同,那这样岂不是行不通?比如我10个小类,每个小类都要求选5条出来,但这50条记录的时间都不相同。
    帮帮忙。
      

  2.   

    好的。谢了。
    表结构:
     名称              空值?    类型
     ---------------- -------- ----------------
     INFO_ID          NOT NULL NUMBER
     IT_ID                     NUMBER
     IT_NAME          NOT NULL VARCHAR2(20)
     IS_ID                     NUMBER
     IS_NAME          NOT NULL VARCHAR2(20)
     INFO_TYPE                 CHAR(1)
     INFO_TITLE                VARCHAR2(200)
     INFO_TIME                 DATE
    条件:选择出每个IS_ID下的5条信息,info_time为最新.
      

  3.   

    如果你用的ORACLE 8I以上的版本,那么最好使用ROW_NUMBER() OVER()函数来处理
    见下例:
    SELECT deptno, ename, hiredate,
           ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY hiredate) AS emp_id
      FROM emp;