MySql第几行到第几行语句

1、查询第一行记录: 
select * from table limit 1 
2、查询第n行到第m行记录 
select * from table1 limit n-1,m-n; 
SELECT * FROM table LIMIT 5,10;返回第6行到第15行的记录 
select * from employee limit 3,1; // 返回第4行 
3、查询前n行记录 
select * from table1 limit 0,n; 
或 
select * from table1 limit n; 
4、查询后n行记录 
select * from table1 order by id desc dlimit n;//倒序排序,取前n行 id为自增形式 
5、查询一条记录($id)的下一条记录 
select * from table1 where id>$id order by id asc dlimit 1 
6、查询一条记录($id)的上一条记录 
select * from table1 where id<$id order by id desc dlimit 1

时间: 2024-10-02 21:53:56

MySql第几行到第几行语句的相关文章

mysql第四篇--SQL逻辑查询语句执行顺序

mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition&g

MySQL 最常用的一千行

/* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES --

[Java][Android][Process] 暴力的服务可以解决一切,暴力的方式执行命令行语句

无论是在Java或者Android中执行命令行语句殊途同归都是创建一个子进程执行调用可执行文件执行命令,类似于Windows中的CMD一样. 此时你有两种方式执行:ProcessBuilder与Runtime:两种创建方式各有千秋,至于区别详见:[Java][Android][Process] ProcessBuilder与Runtime区别 在Android中创建子进程执行命令的时候有着一定的限制: 1.JVM提供的内存有限. 2.底层缓冲区间大小有限. 3.在高并发情况下容易造成阻塞. 基于

Mysql 定位执行效率低的sql 语句

一.通过MySQL慢查询日志定位执行效率低的SQL语句. MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较低的SQL . 1.通过命令: show variables like '%query%'  查看是否开启慢查询日志. 开启前 开启后 slow_query_log :   on

MySQL实战 | 01-当执行一条 select 语句时,MySQL 到底做了啥?

原文链接:当执行一条 select 语句时,MySQL 到底做了啥? 也许,你也跟我一样,在遇到数据库问题时,总时茫然失措,想重启解决问题,又怕导致数据丢失,更怕重启失败,影响业务. 就算重启成功了,对于问题的原因仍不知所以. 本文开始,记录学习<MySQL实战45讲>专栏的过程. 也许有人会问,你记录有什么意义?直接看专栏不就行了吗?你这不是啃别人的剩骨头吗? 是的,这个系列,我只是基于专栏学习,但是我会尽量从我的角度搞懂每一个知识点,遇到不懂得也会将知识点进行拆分. 我知道关注公众号的小伙

MySQL学习【第五篇SQL语句上】

一.mysql命令 1.连接服务端命令 1.mysql -uroot -p123 -h127.0.0.1 2.mysql -uroot -p123 -S /tmp/mysql.sock 3.mysql -uroot -p123 -hlocalhost 4.mysql -uroot -p123 2.mysql登陆后的一些命令 1.\h或者help   查看帮助 2.\G  格式化查看数据(以key:value形式) 3.\T 或 tee      记录日志 4.\c   结束命令 5.\s或者st

MySQL.之 一行内容转换多行

MySQL.之 一行内容转换多行 描述: 将一行记录中的某一列值(值格式:数据之间用英文逗号隔开),将这一数据转换成多行. 例如:表 cds_var 中的 cds_value 中的数据格式:多个id之间使用英文的逗号进行隔开. 需求: 将上面的 cds_value 的值按照多行进行展示.效果如下: 解决方案: 创建一个序列表(仅有一个字段:存储序列 1-1000),如下: 编写SQL语句: 1 SELECT 2 SUBSTRING_INDEX( SUBSTRING_INDEX( C.cds_va

详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)

详解 MySql InnoDB 中的三种行锁(记录锁.间隙锁与临键锁) 前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题.MVCC 我先挖个坑,日后再细讲,这篇文章我们主要来谈谈那些可爱的锁. 什么是幻读? 幻读是在可重复读的事务隔离级别下会出现的一种问题,简单来说,可重复读保证了当前事务不会读取到其他事务已提交的 UPDATE 操作.但同时,也会导致当前事务无法感知到来自其他事务中的 INSERT 或 DELETE 操作,这就

sql server选取第m行到第n行的元组

现在有一个表Questioin,主码是qid,要求选择第m行到第n行的元组 //方法一:效率最低 //错误:如果n<m,将选取前n条数据,如果n>=m,将选取从m+1开始的n条数据 select top n * from Question where qid not in { select top m qid from Question } //当然改成下面的就正确了 select top(n-m)* from Question where qid not in (select top m i