sql语句问题,搜索前5000条数据再过滤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句问题,搜索前5000条数据再过滤相关的知识,希望对你有一定的参考价值。

数据库tab1,数据分别是

id name read
1 立三 0
2 看透 1
3 离散 1
4 的确 0
5 屗几 1
6 长辈 0
.
.
.
.
.
10000 把柄 1

上表结构,tab1里有10000条数据,我想搜索出前5000条数据,但在前5000条数据里,只输出read值为1的数据.....

希望各位大侠指教指教

参考技术A 不知道你是什么数据库,所以就给你写了三种方式:
SqlServer:
select top 5000 * from tab1 where read=1
Oracle:
select * from tab1 where read=1 and rownum<=5000;
mysql:
select * from tab1 where read=1 limit 5000;
在access中和在SqlServer中是一样的,如果你的id是连续的话统统都可以这样写:
select * from tab1 where id<=5000 and read=1
以上,希望对你有所帮助!
参考技术B select top 5000(read),* from tab1 where read=1 如果你想正序排列,那么就这样就可以,如果倒序的5000那就 加上 group by read desc 参考技术C 对你表达的前5000条数据有两种理解
(1)符合read=1的前5000条记录
select top 5000 * from TableName
where read=1
(2)id<5000且read=1
select * from TableName
where read=1 and id<50001
参考技术D oracle
select * from tab1 t where t.id in (
select rownum tab1.id from tab1 order by tab1.id where "Row" < 5000 )
and t.read = 1

sql server
select * from tab1 t where t.id in (
select top(5000) tab1.id from tab1 order by tab1.id )
and t.read = 1
第5个回答  2009-09-08 select * from (select top 5000 * from table) where read=1

SQL如何显示查询结果的前100条?

参考技术A

SQL语句显示查询结果前100条在不同的数据库查询语句不同,分别是:

1、在 sqlserver数据库中:

SET ROWCOUNT 100 GOSELECT * FROM 表名 ;

2、在Oracle数据库中:

select * from 表名 where rownum<=100;

3、在mysql数据库中:

select * from 表名 limit 0,100,使用idea进行示例如下:

扩展资料:

如果要查询指定条数的搜索结果,可以使用limit函数实现,Limit子句可以被用于强制 SELECT 语句返回指定的记录数。例如使用SQL语句显示查询结果的100到300条记录语句为:

SELECT * FROM tablename LIMIT 100,300 ;

总之,使用limit函数可以轻松对查询结果进行控制,或者实现分页功能。

以上是关于sql语句问题,搜索前5000条数据再过滤的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句中两个表的连接

MySql查询前10条数据sql语句是啥?

oracle sql语句获取前两条数据

SQL注入---[强网杯 2019]随便注---day01

mysql按条件分页查询的语句怎么写啊?

如何将SQL查询出来的一列数据赋值,执行存储过程