怎样用SQL语句查询以20%来分段查询数据,如查询该表中数据数量20%到40%的数据怎查来。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用SQL语句查询以20%来分段查询数据,如查询该表中数据数量20%到40%的数据怎查来。相关的知识,希望对你有一定的参考价值。

参考技术A 我赞成的是:select * from (select top (select convert(int,count(selfid)*0.4) from s_menu) * from s_menu ) a where selfid not in(select top (select convert(int,count(selfid)*0.2) from s_menu) selfid from s_menu)

不赞成:
select * from t_qkxx where lsh in (select top 40 percent lsh from t_qkxx where lsh not in (select top 20 percent lsh from t_qkxx))

原因:不赞成中的一条语句写错了。top20指的是前20位。如果列数只有19的话就要出发溢出的异常
参考技术B select top (select convert(int,count(id)*0.4*0.2) from s_menu) * from s_menu

可以把count(id)换成100试验一下
参考技术C 查询在40%的数据20%不存在的 参考技术D 建议你用between and

以上是关于怎样用SQL语句查询以20%来分段查询数据,如查询该表中数据数量20%到40%的数据怎查来。的主要内容,如果未能解决你的问题,请参考以下文章

怎么用sql语句查询?

怎样用mysql语句 查询一个表里面的一个字段下的2条数据。求大神指教!

怎样用SQL语句查询一个数据库中的所有表

HIBERNATE怎样查看sql语句

怎样用SQL语句查询一个数据库中的所有表

如何用SQL语句来判断查询结果为空?