用SQL取部分记录
从tablename 表中取出第 n 条到第 m 条的记录
SQL SERVER的写法
SELECT TOP m-n+1 *
from tablename
WHERE (id NOT IN
(SELECT TOP n-1 id from tablename))
你这是一个分页算法的,我提供的比较简单,网上还有很多不错的,如果你对这个不满意,再去网上找找 关键字 “分页算法”
ORACLE的话改一下语句就可以了
SELECT *
from tablename
WHERE (id NOT IN
(SELECT id from tablename where rownum<n )) and rownum< m-n+2
rownum 的用法需要注意的是rownum >1 时是查不到一条记录的,而rownum >0 或 rownum >=1 却总显示所有的记录;因为 rownum 是在查询到的结果集后加上去的,它总是从1开始
MYSQL的类似语法不清楚了,你查查关键字的语法参考这两条语句,应该也好写出来
-----------------------------------
另外这语句你需要将M N计算后填入,你不能直接作为变量使用。如果你想做成一个的存储过程;m,n作为变量输入,那就得提前完成计算再查询。
相关文档:
DECLARE @HDOC INT --文档句柄
DECLARE @XMLSTRING VARCHAR(200) --XML字符串
SET @xmlString ='<?xml version="1.0"?>
<ROOT>
<USER ID="1" Name="SBQCEL"/>
<USER ID="2" Name="PEACELI"/>
<USER ID="3" Name="SHEEPCHANG"/>
</ROOT>'
--使用系统存储 ......
一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说 ......
示例:
传入多个Email地址,通过每个Email地址间的','分隔符,将各Email地址分开。
SELECT * from dbo.uf_Split('aa@aa.com,bb@bb.com,cc@cc.com,dd@dd.com',',');
查询结果:
subid autoid
aa@aa.com 1
bb@bb.com 2
cc@cc.com 3
dd@dd.com 4
下面是[uf_Split]方法的具体实现:
CREATE ......
用SQL查询分析器操作Excel
http://hi.baidu.com/bilbit/blog/item/adf7a33427af52bed0a2d38e.html
SQL SERVER 和EXCEL的数据导入导出
1、在SQL SERVER里查询Excel数据:
-- ======================================================
SELECT *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\boo ......
SQL用select语句查询重复记录
http://hi.baidu.com/bilbit/blog/item/5ed5de16a6f6b412962b43eb.html
用select语句,查询重复记录
假设,表名为 T1 子段为 A,B,C
select count(*) ,A,B,C from T1
group by A,B,C having count(*) > 1
测试数据:
A100 &n ......