几条常见的数据库分页 SQL 语句
SQL Server
从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有order by,则是从排序好的结果集中选择:
SELECT *
from ( SELECT Top N *
from (SELECT Top (M + N - 1) * from 表名称 Order by 主键 desc) t1 ) t2
Order by 主键 asc
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
SELECT *
from ( SELECT TOP 20 *
from (SELECT TOP 29 * from Sys_option order by sys_id desc) t1) t2
Order by sys_id asc
Oralce数据库
从数据库表中第M条记录开始检索N条记录
SELECT *
from (SELECT ROWNUM r,t1.* from 表名称 t1 where rownum < M + N) t2
where t2.r >= M
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
SELECT *
from (SELECT ROWNUM R,t1.* from Sys_option where rownum < 30 ) t2
Where t2.R >= 10
MySQL数据库
My sql数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为:
以下是引用片段:
SELECT * from 表名称 LIMIT M,N
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
以下是引用片段:
select * from sys_option limit 10,20
DB2数据库
DB2分页查询
SELECT * from (Select 字段1,字段2,字段3,rownumber() over(ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1
WHERE a1.rn BETWEEN 10 AND 20
以上表示提取第10到20的纪录
&n
相关文档:
手动设置计数器注册表项的增量 :
1.在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击“开始”、“运行”,然后在“打开”中键入 regedit.exe,再单击“确定”。在 Windows 2000 中,使用 regedt32.exe 启动注册表编辑器。
  ......
CUBE 和 ROLLUP 之间的区别在于:
CUBE 生成的结果集显示了所选列中值的所有组合的聚合。
ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。
例子:
if object_id('a') is not null
drop table a
create table a
(
bm varchar(20), --编码
ck varchar(2), &n ......
定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
常见的触发器有三种:分别应用于Insert , Update , Delete 事件。
我为什么要使用触发器?比如,这么两个表:
& ......
在SQL*Plus中默认的"&"表示替代变量,SQL*Plus认为&符后面的字符串为变量;只要在命令中出现该符号,SQL*Plus就会要你输入替代值。这就意味着你无法将一个含有该符号的字符串插入或更新到数据库
set define off 关闭替代变量功能,“&”将作为普通字符
set def ......
--oracle优化slq语句
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):
Oracle的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,您必须选择记录条数最少的表作为基础表。假如有3个以上的 ......