Sql语句 limit 使用,查询某一行到全部数据

查询某一行到结束的所有数据。网上看了很多SELECT * FROM table LIMIT 95,-1;
是错的。有说查SELECT COUNT(*)FROM table 替换-1.还有其他方法能做到吗?

4个回答

先order by 呢

没测试不知道对不?

楼主大人,可以通过逆向思维去完成这样的题目哟,首先我们将前面需要排除的0到n行的id查出来,然后通过not exists去将这些行排除掉,这样得到的就会是第n行以后的记录了哟。

 select a.* from test a 
#排除与c相同的值(第1-2行)即为要求的值(3-最后一行)
where not exists(
    #查询需要排除的id
    select c.exp_id from (
        #查询需要排除的行(前2行)的主键值
        select b.id as exp_id from test b limit 0,2
    ) c where a.id = c.exp_id
)

这里的2,指的是总共要排除多少条记录。请在实际的SQL中根据自己的需要调整一下即可。我想以楼主的功底,这句简单的SQL自然不在话下。祝你好运!

Naive_3
Naive_3 这个思路挺好
接近 4 年之前 回复

SELECT * from base_user LIMIT 95,(SELECT COUNT(1) from base_user);这样会报错把,改成这样就可以查询了
SELECT * from base_user where id between 95 and (SELECT COUNT(1) from base_user);

Naive_3
Naive_3 谢谢
接近 4 年之前 回复

学习了图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SQL中查询前几条或者中间某几行数据limit
SELECT * FROM table  LIMIT [offset,] rows | rows OFFSET offset 使用查询语句的时候,要返回前几条或者中间某几行数据,用Llimit   可以实现:      1. LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一
SQL数据库查询LIMIT 数据分页
SQL数据库查询LIMIT 数据分页SQL的语句LIMIT 约束SELECT 查询数据包表时,使得SQL查询语句返回指定的记录数(行数)。LIMIT 可以设置1个或2个int整型常量数字作为参数。LIMIT在数据分页查询时候十分有用,因为不是每一次查询都需要:SELECT * FROM table这么笨重的花费巨大性能开销查出所有数据,而是有约束的查询需要的分页数据即可。LIMIT设置两个参数时候
[每天一点点]->[SQL语句] limit使用详解
科教篇 SELECT * FROM table  LIMIT [offset,] rows | rows OFFSET offset;   入门篇 SELECT * FROM table LIMIT 0,10;//检索记录行1-10   进阶篇 SELECT * FROM table LIMIT 2,10;//检索记录行3-13 SELECT * FROM table LIMIT
sql语句无错误 order by 和limit一起用数据查询不准有重复
如sql无错误,但总是查询不准,有重复。 并且去掉order by只保留limit数据就准确,原因在于mysql种order by和limit一起用,当order by有多条相同值时,mysql优化之后存在陷阱。 解决方案,order by yourziduan,id 添加个其他字段辅助排序。 参考http://blog.csdn.net/qiubabin/article/details/7
在sql语句 如何得到某行某列的值(SQL的實現方法)
在sql语句  如何得到某行某列的值(SQL的實現方法):原理:使用兩次排序與兩個Top就可以了 如:我要獲取第二行第三列的數據select top 1 Cell_X from (select top 2 * from dbo.LandTbl) as LandTbl order by LandCode Desc其中 Cell_X為第三列字段名
如何用SQL语句把同一列的数据按某个group by语句组合成一行数据
<br />    刚才从论坛上面看到一个帖子,我之前也碰到过这一类问题,所以记下来,算学习到新的东西。从回答者给出的不同的代码,也从另一个侧面看到了这个问题的多种思维解决方案。还是有不少东西可以学得到的。<br />    学习到的内容:stuff函数的应用<br />问题:  <br />  有一个用户表(姓名,编号,爱好)<br />  user(name,id,hobby),<br />里面的数据有:<br />  张三 001 篮球<br />  张三 001 电影<br />  李四 002 足
sql 去除相某个字段有相同记录的行,取第一行
表zt有三列ID ,Name,AgeName可能有重复的  select  * from zt  as a where ID=(select  top 1 ID from zt where Name=a.Name) 
sql语句查询一条数据的上一条数据和下一条数据
表t_tablename id_param为当前id1.查询上一条数据select * from t_tablename where id=(select max(id) from t_tablename where id&amp;lt; id_param) 2.查询下一条数据select * from t_tablename where id=(select min(id) from t_tablena...
sql置顶固定的某一条数据
置顶Id号为81的数据,其他数据根据添加时间排序 select * from  db1 order by case when id=81 then id end desc ,case when id<>81 then addtime end desc
SQL语句Limit的用法
官方Limit用法是这样的:SELECT column_name(s) FROM table_name LIMIT number想必大家看了之后跟我有同一个想法,这Limit 怎么用根本没讲到啊,那接下来我就详细解剖一下;select * from Customer LIMIT 10 ;--检索前10行数据,显示1-10条数据 select * from Customer limit 5,10 ;-
sql server如何查询指定行?
转自:https://zhidao.baidu.com/question/84289452.html select top 20 * from 表名 where id not in (select top 10 id from 表名) /////////// select * from( select ROW_NUMBER()OVER(ORDER BY t.pk_id asc)
SQL语句中limit的用法
sql语句根据条件查询指定数量的数据SELECT * form 表名 WHERE 条件 limit 5,10; //检索6-15条数据SELECT * form 表名 WHERE 条件 limit 5,-1; //检索6到最后一条数据SELECT * form 表名 WHERE 条件 limit 5; //检索前5条数据
T-Sql 语句在查询语句中累计每行中的某个数值字段
现有表str,表结构及数据如下: 要求:需要在第4列后加上一列E;E列中的数据是按照A列分组,并且如果B列是1就加上C列的数值,B列是0就减去C列的数值按照D列的月份顺序依次累加。效果如下: ------------------------- 方法: 将表str a和表str  b进行连接查询 ( inner/left join),以A列做关联字段,以D列作为累计的条件如(
使用hibernate实现mysql中limit的查询
给大家分享个知识点,hibernate 的hql不支持limit的使用。以后大家如果有限制查询从第几条至第几条时。就用          List investments = new ArrayList();         Session session = this.getSession();         String hql = "from SiteInve
mysql入门(limit限定查询十四)
1:limit是限定查询结果的数量(是mysql数据库中特有的语句)(从表中记录0开始,查询数量为5) select empno ,ename from emp limit 5; +-------+--------+ | empno | ename  | +-------+--------+ |  7369 | SMITH  | |  7499 | ALLEN  | |  7521
sql如何找到某字段的最大值所在行
首先,查找某字段的最大值select max(weight) from apple; 7888接着,根据最大值,查找其所在行select * from apple where weight =7888;
数据库--SQLServer--如何找到包含某列最大值的那一行
有这样的表mytable,包括user_id,my_value,my_date三列。我想获取每个user_id的最近日期max(my_date)对应的user_id,my_value,my_date。用怎样的SQL实现呢?这里假设每个user_id下日期唯一。 本题来源stackoverflow 本题可以有多种方式实现。 1.使用分析函数max,找出每个user_id分组的m
mysql:21个性能优化最佳实践之3[当只要一行数据时使用 LIMIT 1]
当你查询表的有些时候,你已经知道结果只会有一条结果,但因为你可能需要去fetch游标,或是你也许会去检查返回的记录数。 在这种情况下,加上 LIMIT 1 可以增加性能。这样一样,MySQL数据库引擎会在找到一条数据后停止搜索,而不是继续往后查少下一条符合记录的数据。
Sql使用查询某一天的发生凭证
select * from t_gl_voucher v  left join  t_org_company c on c.fid=v.fcompanyid left join  T_BD_Period p on v.FPeriodID=p.fid left join T_PM_User u on u.fid=v.FCreatorID  where c.fnumber in ( 'T00
Android数据库中查找一条数据 query方法详解
public Cursor query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit);  参数说明:  table:数据库表的名称  columns:数据库列名称数组 写入后最后返
怎样查询SQL数据库中某一个表中的某个列的一个数值的所有行数据
我是个菜鸟 我想查询出我的SQL数据库里某个表里的某个列的一个数值的行数来,请问要怎么查询? 例如: 我要查询 表"accuont"里的 "TBL_ACCOUNT"项 里的一个列名是 "VIP" 数值为"1"的所有 行 的数据,样怎样查询? 意思就是我要知道列名是"VIP"中数值为"1"的所有的"行".也就是说我想把列名为"VIP"中数值为"1"的"行"都挑出来   解答: select *
sql查询 ,多行数据合并成一行,并且显示合并后某一列的值拼接结果
使用stuff + for xml path 解决sql查询 order by之后拼接列,并显示拼接后的字符串
SQL中Limit的用法
假设有这么一张表名叫ids,只有id一列:id --- 1 2 3 4 5 ... ... 197 198 199 200执行SELECT * FROM ids LIMIT 10, 1输出:id --- 11执行SELECT * FROM ids LIMIT 10, 3输出:id --- 11 12 13执行SELECT * FROM ids LIMIT 45, 1输出:id --- 46从以上示例
在sql server中,实现列数据转换成逗号隔开字符串
项目需要,要在查询中,加上后续处理人查询条件,因为后续处理人字段存的是用户ID串,所以想用函数实现功能:根据用户ID串,返回用户姓名串 根据功能,在数据库查询窗口运行测试,sql如下:没有问题,返回用户姓名串 Code DECLARE @UserIdStr VARCHAR(1024)  SET @UserIdStr='su20090812001,su20090912002' DECL
sql语句查询某天、某周、某月、某年的数据
select * from Table where datediff(week,列名,getdate()-1)=0   //查询出当天日期在一周年的数据 select * from Table where datediff(day,列名,getdate()-1)=0   //查询当天的所有数据--查询当天 select * from Table where DateDiff(dd,列名,get
SQL 删除表中的某一行或者修改表结构
删除某一行时用:DELETE           FROM             表名                  WHERE           条件 修改某一列时用:ALTER       TABLENAME           表名              DROP           新列名
mysql数据库 获取数据表中指定行数据
MySQL数据库,获取表中指定行的数据信息,limit方法的简单使用(个人心得)
mysql limit分页 SQL语句模糊查询
limit函数:在数据库中经常要取表中记录中间的记录,在sql语句中使用limit可以实现此功能<pre name="code" class="sql">select * from a limit 5,20 理解:从表中的第五行数据开始取数据,一共取出20条这个用法可以实现sql语句分页,只需要传进页数和每条页数两个参数即可以实现分页
Oracle 如何将某一行记录放在查询结果的第一行【最后一行】
场景:已知药品费用所占比例的公式是药品费用与总费用之间的比例,通过如下SQL语句已求出各个机构的药品费用所占比例, 查询各机构药品费用所占比例的SQL语句: select t1.parent_id org_id, --机构id decode(sum(t.charge_money), 0, 0, round(sum(t.drug_money) / sum(t
锁住你的记录:sqlserver锁定数据库中的一行记录
今天发现一个比较有意思的帖子
关于SQL查询语句的模糊查询,排序用法,limit用法的介绍
本文主要解决关于一些SQL查询语句的用法问题。比如,高级搜索,模糊搜索,排序,以及分页中需要用到的limit用法。相信能给一些sql语句基础不是特别牢固以及sql初学者解决一些问题。
关于sql语句的limit与查询记录的下标
一  .       之前有使用过limit,limit的作用就是控制显示查询出来的语句从哪一条显示到哪一条。 它后边跟着另个参数,  limit a,b    表示从查询到的记录中,只显示第a行到第b行。 二.        然后,我们查询到的的记录第一条是从0,开始的,就像数组一样,第一个下标是0.这也是我今天才发现的。改了一段别人写的sql语句发现一直查不出明明存在而且符合条件的数据
mysql查询指定行数据
有一个mysql数据库的表,要查询他的最后两条数据的结果如下: 这是原表中的内容:idname 1 ad 2 jk 3 tre4 hgv这是查询的最后两条的数据的内容(为最新的插入的数据):语句:select * from demo1 order by id desc limit 0,2;结果:id name4 hgv3 tre在以上的查询中我们要用到的是limit语句,下面我们来解释一下这
SQL实现当前行等于前面两行数据之和
sql实现类似斐波那契数列的功能,即当前数据等于前面两个数据之和,详看本文例子      原表: sql语句(此处要熟悉JION ON的用法) 结果
SQL Server中选出指定范围行的SQL语句写法
在数据库查询的时候,我们有时有这样的需求,就是要找出数据表里指定范围行内的数据记录,比如说要找出数据表里第10行到第20行的这10条数据,那么我们怎么来实现呢?     按照通常的方法是实现不了的,我们得借助于临时表以及一个函数来实现 代码如下:       Select no=Identity(int,1,1),* Into #temptable From dbo.teacher_info
mysql5.7官网直译SQL语句优化--DISTINCT,LIMIT优化
1.15DISTINCT Optimization  DISTINCT和ORDER BY结合多数情况下需要一个临时表。 因为DISTINCT也许用到GROUP BY,了解mysql在order by列上如何工作,或者是having 条件是如何工作的,并且条件不是被选择的列的部分。请看12.19.3的mysql处理group by。 在大多数情况下,一个DISTINCT条件能够被考虑作为一个特
mysql大数据量使用limit分页,随着页码的增大,查询效率越低下。
转载地址:http://www.cnblogs.com/lpfuture/p/5772055.html 测试实验 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count 当起始页较小时,查询没有性能问题,我们分别看下从10, 100, 1000, 10000开始分页的执行时
Oracle 取某一行数据
使用rownum取数据 注意这种方法只能取没有排序或分组操作的数据 //取emp表第三行数据 select * from (select rownum a, ename from emp) where a = 3; select rownum a, ename from emp; 把查询的结果当做一个表使用即可。 使用ROW_NUMBER() OVER()取数据 这种方...
SQL 使用 DELETE 语句删除行
使用 DELETE 语句删除行DELETE 语句可删除表或视图中的一行或多行。DELETE 语法的简化形式为:DELETE table_or_view FROM table_sources WHERE search_conditiontable_or_view 指定要从中删除行的表或视图。table_or_view 中所有符合 WHERE 搜索条件的行都将被删除。如果没有指定 WHER
通过SQL语句,将特定数据行置顶或置底显示
最近项目中涉及一个需求:显示某个表数据时,希望把其中某个字段为特定值的行置顶或置底显示,以便区分假如我们有一个职级表userlevel其中职级字段rank有0原级、1初级、2中级、3高级、4资深,一共五个枚举值,我希望每次查询的时候将3高级置顶显示贫穷限制了我的思维,以下SQL解决方法来自网络:1.通过case when+排序select (case when a.rank='3' then 0 ...
相关热词 c# mysql插入 c# sha256 加密 c#窗体上的叉添加事件 c#打印图片文件 c#後台調前台js c#控制台美化 c# 标记 浮点型 c#获取当前的农历日期 c# 构造函数重载 c# 页面功能注释