select * from(
SELECT  id,
        company_id,
        position,
        is_display,
        urgent,
        geo_code,
        company_name,
        row_number()over(partition by company_id order by 'x') rn,
        rownum rn1
from l_c_j_view 
where is_display=1)
where rn1>1 and rn1<=25
order by update_time DESC, create_time DESC 

解决方案 »

  1.   

    就能描述一下你这个语句的功能吗
    查询l_c_j_view 这个表中前24条最新不同公司的信息,按company_id分组,如果company_id一样,取id最大的一条
      

  2.   


    select * from(
    SELECT  id,
            company_id,
            position,
            is_display,
            urgent,
            geo_code,
            company_name,
            row_number()over(partition by company_id order by id desc) rn
    from l_c_j_view 
    where is_display=1)
    where rn=1
    and rownum<=24
    order by update_time DESC, create_time DESC