请教一个问题,select top 50 percent * from 表名。如果想去掉正好50%的值(临界值)怎么改SQL语句,谢谢。
------解决方案--------------------
Select top (Select abs(cast(count(1)*0.5 as int)-1) From 表名) * From 表名
------解决方案--------------------
Select top (cast(floor(count(1)*0.5) as int)) * From 表名 where xueqi='1011-2' and xueyuan='学院' order by zongpingfen asc
最后再强型转为int就可以了
------解决方案--------------------
-- 凑个人数。
-- 别用 *0.5 这个运算了,还得来回转换,直接 / 2 吧, 5 / 2 = 2 ;10 / 2 = 5 ;
-- (10 - 1 ) / 2 = 4 ; (15 - 1 ) / 2 = 7 ;
select top (select ( COUNT(*) -1 ) / 2 from sysobjects) * from sysobjects