我在oracle数据库里有一列数据: 
    id      订单号: 
    0001    1002100001 
    0002    1002100002 
    0003    1002100003 
    0004    1002100004 
我想查询:1002100001 和1002100003两条数据??? 

解决方案 »

  1.   

    select × from table where mod(to_number(id),2)=1;
      

  2.   

    select * from table where mod(rownum,2)=1;
      

  3.   

    刚才试了试,写错了,应该这样:
    select *
      from (select rownum row_num, t.* from table_name t)
     where mod(row_num, 2)=1
      

  4.   


    select × from table where mod(to_number(id),2)=1;
      

  5.   

    不對, oracle中rownum是偽列,每次查詢后第一條記錄都是rownum=1,第二條是 rownum=2,....select × from table where mod(to_number(id),2)=1;
      

  6.   

    rownum很多人不理解这标识查询结果
      

  7.   

    其实很简单
    你可以嵌套一下吗
    select * from (
    select t.*,rownum a from sblb t) where mod(a,2)!=0其实楼主都没说清楚 是根据  ID 的奇数还是原本记录中的行号(ROWNUM)呢???前一种2楼可以后一种  我这可以
      

  8.   

    其实很简单
    你可以嵌套一下吗
    select * from (
    select t.*,rownum a from sblb t) where mod(a,2)!=0其实楼主都没说清楚 是根据  ID 的奇数还是原本记录中的行号(ROWNUM)呢???前一种2楼可以后一种  我这可以