就是按照我的select语句(有where筛选条件,和order by)出来的结果,然后一列是orderid例如 select * from product where eff_date>='20070701' order by price descorderid product 1, product_a 2, product_b 3, product_c
就是按照我的select语句(有where筛选条件,和order by)出来的结果,然后一列是orderid 例如 select * from product where eff_date> ='20070701' order by price desc orderid product 1, product_a 2, product_b 3, product_c ================================================================================== 這樣的意思的話,那就是説orderid 會隨著查詢條件的變化而變化了?
是的, 总之出来的结果orderid按1,2,3,...往下累加
這個沒搞過,呵呵 不過個人認爲,既然用order by排序了,前面再用1、2、3...不是很必要!
select rownum,product from product where eff_date>='20070701' order by price desc 这个不就是你要的结果吗?
不是,rownum只是记录在表中的行的number, 不是我select出来结果的行number
如果是要结果集里的序列,用这个,连续的,从1开始.select rownum,product from product where eff_date>='20070701' order by price desc 如果是要源表里的序列,用这个,序列不确定,要看结果集的数据在源表的位置.selct product from (select rownum,t.* from product t) where eff_date>='20070701' order by price desc; 如果还不是LZ要的,可以根据情况在子查询里加入条件来满足要求.
多谢,各位大力支持,已经解决问题,其实我想要的是select rownum,t.product (select product from product where eff_date>='20070701' order by price desc) t(本人理解错误,rownum其实是结果集的行number,只有若select有order by就会打乱rownum原有排序,所以要作嵌套查询)thanks so much~~
select rownum, rowid, t.* from t
1, product_a
2, product_b
3, product_c
1, product_a
2, product_b
3, product_c ==================================================================================
這樣的意思的話,那就是説orderid 會隨著查詢條件的變化而變化了?
不過個人認爲,既然用order by排序了,前面再用1、2、3...不是很必要!
这个不就是你要的结果吗?
如果是要源表里的序列,用这个,序列不确定,要看结果集的数据在源表的位置.selct product
from (select rownum,t.* from product t)
where eff_date>='20070701'
order by price desc;
如果还不是LZ要的,可以根据情况在子查询里加入条件来满足要求.
(select product from product where eff_date>='20070701' order by price desc) t(本人理解错误,rownum其实是结果集的行number,只有若select有order by就会打乱rownum原有排序,所以要作嵌套查询)thanks so much~~