select tmp1.* from tmp1, (select t.a,min(t.b) as minb from tmp1 t group by t.a) tmp2 where tmp1.a= tmp2.a order by tmp2.minb ,tmp1.a 大家帮我看看这么写,对不对啊?谢谢了
楼主的执行结果是 SQL> select tmp1.* from tmp1, 2 (select t.a,min(t.b) as minb from tmp1 t 3 group by t.a) tmp2 4 where tmp1.a= tmp2.a 5 order by tmp2.minb ,tmp1.a 6 / A B --------- ---------- 2 001 2 004 2 005 3 001 3 002 1 004 1 002 1 0038 rows selected.SQL>
select tmp1.* from tmp1, (select t.a,min(t.b) as minb from tmp1 t group by t.a) tmp2 where tmp1.a= tmp2.a order by tmp2.minb ,tmp1.a ,tmp1.b 这样应该就会完全与我的要求一样了。
SQL> select * from tmp1
2 / A B
--------- ----------
2 001
2 004
2 005
3 001
3 002
1 004
1 002
1 0038 rows selected.SQL> select a,b from tmp1 order by a, b
2 / A B
--------- ----------
1 002
1 003
1 004
2 001
2 004
2 005
3 001
3 0028 rows selected.SQL>
(select t.a,min(t.b) as minb from tmp1 t
group by t.a) tmp2
where tmp1.a= tmp2.a
order by tmp2.minb ,tmp1.a
大家帮我看看这么写,对不对啊?谢谢了
SQL> select tmp1.* from tmp1,
2 (select t.a,min(t.b) as minb from tmp1 t
3 group by t.a) tmp2
4 where tmp1.a= tmp2.a
5 order by tmp2.minb ,tmp1.a
6 / A B
--------- ----------
2 001
2 004
2 005
3 001
3 002
1 004
1 002
1 0038 rows selected.SQL>
(select t.a,min(t.b) as minb from tmp1 t
group by t.a) tmp2
where tmp1.a= tmp2.a
order by tmp2.minb ,tmp1.a ,tmp1.b
这样应该就会完全与我的要求一样了。