比如有这样一个表table1,显示如下field1  field2
  1       A     
  1       B
  2       e
  2       f
  2       g想要显示成下面这个样子,应该怎么写sql语句呢?field1  field2
  1       A     
          B
  2       e
          f
          g

解决方案 »

  1.   

    select decode(field1,lag(field1) over(partition by field1 order by field2),null,field1) from table1;
      

  2.   

    不用decode ,用nullif函数更简单select nullif(field1,lag(field1) over(partition by field1 order by field2)) from table1;
      

  3.   

    不用这样复杂,在命令行(sqlplus or pl/sql)中:
      SQL>break on field1
      SQL>select * from table1 group by field1;就可以了。
      

  4.   

    SQL>break on field1
    SQL>select * from table1 group by field1;
      

  5.   

    select nullif(field1,lag(field1) over(partition by field1 order by field2)) as field1,field2 from csdn;