13:56:00 jlanzpa817>create table test (id varchar2(10), name varchar2(10) ,val number);表已创建。已用时间: 00: 00: 00.30
13:56:00 jlanzpa817>
13:56:00 jlanzpa817>insert into test values('a','zhang',45);已创建 1 行。已用时间: 00: 00: 00.10
13:56:00 jlanzpa817>insert into test values('a','li',56);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>insert into test values('a','wei',33);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>insert into test values('b','zai',23);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>insert into test values('b','ti',67);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>insert into test values('c','rr',34);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>commit;提交完成。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>select * from test where rowid in
13:56:01 2 (select min(rowid) from test group by id);ID NAME VAL
---------- ---------- ----------
a zhang 45
b zai 23
c rr 34已用时间: 00: 00: 00.20
13:56:01 jlanzpa817>
13:56:00 jlanzpa817>
13:56:00 jlanzpa817>insert into test values('a','zhang',45);已创建 1 行。已用时间: 00: 00: 00.10
13:56:00 jlanzpa817>insert into test values('a','li',56);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>insert into test values('a','wei',33);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>insert into test values('b','zai',23);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>insert into test values('b','ti',67);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>insert into test values('c','rr',34);已创建 1 行。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>commit;提交完成。已用时间: 00: 00: 00.10
13:56:01 jlanzpa817>select * from test where rowid in
13:56:01 2 (select min(rowid) from test group by id);ID NAME VAL
---------- ---------- ----------
a zhang 45
b zai 23
c rr 34已用时间: 00: 00: 00.20
13:56:01 jlanzpa817>
SELECT * FROM your_table WHERE ROWID IN (SELECT MIN(ROWID) FROM your_table GROUP BY fz_field)
zhaoyongzhu(zhaoyongzhu)则不对。
(select rownum ro,x,y,z from fzy)
where ro in(select min(rn) rn from(select rownum rn, x,y,z from fzy) group by x)
SELECT * FROM
(SELECT * FROM (SELECT ROWNUM RN,A.* FROM your_table A))
WHERE RN IN
(SELECT MIN(RN) FROM
(SELECT * FROM (SELECT ROWNUM RN,A.* FROM your_table A)) GROUP BY FenZu_field)
假如相同的a字段中,第一个插入的记录不一定rowid最小,rownum更不一定是最小,rownum是可变的。
所以,从你的角度上,首先得弄清楚,你要的第一行是什么第一行,是相同a地段下按另一个字段排序的第一行???
rownum是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是
1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数。