oracle中 怎样删除某个列相同的记录:
比如有个person表,表中有person_id,person_name两个字段,名字有重复的,当做select查询时怎样
去除名字相同的记录,只保留一条。

解决方案 »

  1.   

    SQL> CREATE TABLE TBL
      2  (ID NUMBER PRIMARY KEY,
      3  NAME VARCHAR2(20)
      4  );Table created.SQL> INSERT INTO TBL SELECT 1,'A' FROM DUAL
      2  UNION ALL SELECT 2,'B' FROM DUAL
      3  UNION ALL SELECT 3,'C' FROM DUAL
      4  UNION ALL SELECT 4,'A' FROM DUAL;4 rows created.SQL> SELECT * FROM TBL;        ID NAME
    ---------- --------------------
             1 A
             2 B
             3 C
             4 A
    SQL> SELECT MIN(ID),NAME FROM TBL
      2  GROUP BY NAME;   MIN(ID) NAME
    ---------- --------------------
             1 A
             2 B
             3 C