sql 语句 ,如何取出相同记录中的第一条记录
我想象sql server 中的取记录一样,取出相同集录中的第一条记录。
但是 我不想用 select distinct fld from table . 这种的速度太慢。
. 能不能用 类似 select top 1 fld from table .
或 select forstrow(fld) from table .
问题点数:20、回复次数:5Top
1 楼qqqdong()回复于 2002-12-08 10:15:29 得分 10
select * from table where rownum = 1Top
2 楼deyi(江湖浪子)回复于 2002-12-08 10:15:55 得分 0
也不想用 select fld from table group by fld 的语句。我想提高sql的速度,在速度上要求相当高。Top
3 楼deyi(江湖浪子)回复于 2002-12-08 10:19:46 得分 0
我忘了说一点,我使用在子查询中的。
(select fld from (select fld from table where ...) b where b.rownum =1 )
像qqqdong兄说的,速度回时怎么样?
Top
4 楼biti_rainy(biti_rainy)回复于 2002-12-08 13:57:40 得分 10
如果是低于816的版本
可采用表连接+rowid来实现
如果是816或者以上的ee版本:
select * from
(selec ..., row_number() over(partition by a order by a) rnum from xxx)
where rnum = 1;
partition by 后面的字段组合能唯一区分一条记录Top
5 楼deyi(江湖浪子)回复于 2002-12-15 13:18:47 得分 0
biti_rainy(biti_rainy)兄能不能说的详细一些。
Top




