SQLServer中如何查出数据库中百分比的数据

假定数据库名“test”主键“ID”查出30%的数据条件是后面的30%数据... 假定数据库名“test” 主键“ID” 查出30%的数据 条件是后面的30%数据 展开
 我来答
紫仑天玑
2010-09-29 · 萝卜数学关注思维过程
紫仑天玑
采纳数:324 获赞数:888

向TA提问 私信TA
展开全部
sql2005以后.优先使用如下方式,扩展性强。
---------------------------------------------------------------------
select A.* from
(
SELECT ROW_NUMBER() OVER(ORDER BY ID DESC) AS rownum ,B.*
FROM dbo.testB
) A
where A.rownum>=1 and A.rownum<=(select count(*)*3/10 from dbo.test)
---------------------------------------------------------------------
2000 数据库
SELECT TOP (select count(*)*3/10 from dbo.test) * FROM test order by ID DESC
----------------------------------------------------------
徐金柱第一
2010-09-29 · TA获得超过333个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:182万
展开全部
select top( select convert(int, (select count(*) from test)*0.3))* from test order by ID desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangzhiqing999
推荐于2016-10-03 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3354万
展开全部
1> SELECT
2> *
3> FROM
4> union_tab_2
5> go
id val
----------- ----------
1 A
1 A
2 B
4 D

(4 行受影响)
1> SELECT
2> TOP ((SELECT COUNT(1) FROM union_tab_2) * 3 / 10)
3> *
4> FROM
5> union_tab_2
6> go
id val
----------- ----------
1 A

(1 行受影响)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式