在线等

解决方案 »

  1.   

    你是不是有一个表的某个字段中有重复的记录?但是你只想保留一条?
    如果只保留最后一条,那么执行:
    delete
    from yourtable A 
    where exists (Select '1' from  yourtable B
    where A.ID = B.ID
    and A.ROWID < B.ROWID);
    如果只保留第一条,那么执行:
    delete
    from yourtable A 
    where exists (Select '1' from  yourtable B
    where A.ID = B.ID
    and A.ROWID > B.ROWID);ps:记得commit;ps2:没有分...没有下次了。
      

  2.   

    select *  from TABLE WHERE ROWNUM = 1 [AND ......]
      

  3.   

    [AND ......]是指其他的检索条件,没有的话就不要。
    比如TABLE里的字段FIELD01 = '01'
    select *  from TABLE A WHERE A.FIELD01 = '01' AND ROWNUM = 1
      

  4.   

    比如
    table a 记录如下:
    id   mobile  name
    1     12      3
    2     12      4
    3     13      5
    我要显示的结果是
    id   mobile  name
    1     12      3
    3     13      5
      

  5.   

    任意找出一条话可以写成下面这样。
    SELECT MAX(A.id) A.mobile MAX(A.name) FROM TABLE A GROUP BY A.mobile
    有要求的话要根据具体要求来写,可能要复杂些。
      

  6.   

    SELECT MAX(A.id) AS id, A.mobile AS mobile, MAX(A.name) AS name FROM TABLE A GROUP BY A.mobile
      

  7.   

    table   a   记录如下: 
    id       mobile     name 
    1           12             3 
    2           12             4 
    3           13             5 
    我要显示的结果是 
    id       mobile     name 
    1           12             3 
    3           13             5 
    用ORACLE 分析函数row_number():select t.id,t.mobile,t.name from (select id,mobile,name,row_number() over(partition by mobile odrer by name) row_num from a) t
    where row_num=1;
    可以根据你具体的需求做下变动即可
      

  8.   

    OVER怎么用呢,哪位达人告知一下,如果可以的话我另开新贴给分也行啊..