先直接上代码
select * from ( select a.* , @row_num:=@row_num+1 as colum from dept a,(select @row_num:=0) b ORDER BY DEPTNO ) base where base.colum <=(@row_num*0.5)
@row_num:=@row_num+1 与 @row_num:=0为表加上序号的一行,以便取前百分之五十的数据
oracle在Oracle中因为有ROWNUM函数 就比较简单了
select * from dept where rownum<(select 0.3*count(*) from dept)sqlsever
SQL sever 有 top函数更加简单
select top 25 percent * from dept



