table中有t1,t2,t3字段
表中数据为:
1,2,3
2,8,3
4,3,4
要求能查询出这样的结果:
t3  t1  t23   1   2
    2   8
4   4   3
用select t3,t1,t2 from table group by t3,t1时列出所有结果,我想按照T3分类然后在按T1分类。
多谢!

解决方案 »

  1.   

    要求太高了,sql语句不太可能实现
      

  2.   

    select decode(rk,1,t3,null) t3,t1,t2 from 
    (
    select a.*,rank() over (partition by t3 order by t1) rk from test a
    );
      

  3.   

    这个问题我也经常碰到,一直搞不定。楼上高手的方法可以尝试下,但是还不懂怎么一句写出来没办法的时候,我都建个临时表取数,如下我建个test_tmp。CREATE TABLE test_tmp AS
      SELECT ROWNUM rn,t3,t1,t2 
        FROM (SELECT t3,t1,t2 FROM test ORDER BY t3,t1,t2);UPDATE test_tmp a SET t1 = NULL
    WHERE rn > (SELECT MIN(rn) FROM test_tmp WHERE t1 = a.t1 AND t3 = a.t3);UPDATE test_tmp a SET t3 = NULL
    WHERE rn > (SELECT MIN(rn) FROM test_tmp WHERE t3 = a.t3);最后下面这个select可以出结果了SELECT t3,t1,t2 FROM test_tmp;