数据库中top的用法的用法如下:
在编写程序中,我们可能遇到诸如查询最热门的5篇文章或返回满足条件的n条记录的情况,在SQL语言中,可以使用TOP关键字来实现。
TOP关键字在SQL语言中用来限制返回结果集中的记录条数,其使用方法有两种形式,下面做以详细的介绍:
(1)返回确定数目的记录个数
语法格式: SELECT TOP n <列名表>FROM <表名>[查询条件]
其中,n为要返回结果集中的记录条数
(2)返回结果集中指定百分比的记录数
语法格式: SELECT TOP n PERCENT <列名表>FROM <表名>[查询条件]
其中,n为所返回的记录数所占结果集中记录数目的百分比数
举例说明:
假设数据库中有一个表存储的为学生的信息(student):
(1)SELECT TOP 20 * FROM student--查询前20名学生的信息
(2)SELECT TOP 20 * PERCENT FROM student --查询学生表中前20%的学生信息
在具体使用过程中,可以结合条件子句和排序子句(如何进行排序)等实现较为丰富的功能,如:
(1)查询年龄(sage)大于23的前20名学生的信息
查询语句为:SELECT TOP 20 * FROM student WHERE sage >23
(2)查询年龄较为大的前20名学生的信息
查询语句为: SELECT TOP 20 * FROM student ORDER BY sage DESC
在假设有一个表为新闻表(news),其列名定义如下:
ID 新闻编号, 整数型 自增字段
Title 新闻标题 , 字符串型(varchar)
Content 新闻内容,Text型
Hits 点击次数, 整数类型
AddDateTime 添加时间 ,字符串(YYYY-MM-DD)
则要求查询:
(1)查询最新10条新闻
一、安装前准备工作:A、sybase12.5及补丁、注册码
B、安装说明文档、备份库
《从winXP通过‘远程桌面’登陆win2003主界面:
1、sp2-mstsc /console
2、sp3以上-mstsc /admin》
C、本地磁盘空间大小,建库还原库需要多大空间
二、安装步骤:
1、安装sybase12.5:只有几处需要修改(选择完全安装,手动配置各服务器,配置bd_lsc-将页面大小2K修改16K,master syspromessor各分配1000M),其他默认,最后完成直接
重启。
2、重启后首先安装补丁,再进行注册<程序>----<Sybase>------<最后一项>
3、修改字符集cp936
在<运行>中输入 cmd ,在cmd中输入
cd c:\sybase\charsets\cp936回车
再charset –Usa –P –Sbd_lsc binary.srt cp936
“bd_lsc“ 部分是Sybase Central中看到的数据库服务器的名称,根据实际情况而定
依次点击<程序>----<Sybase>------<SQL Advantage>:在打开程序中,点击连接数据库
>select name ,id from syscharsets
>go
找到name=cp396对应的id (171)
>sp_configure “default character set id”,171
>go
重启两次server,sp_helpsort察看服务器端的字符集是否已经更改为cp936。
配置客户端缺省字符集:编辑文件c:\sybase\locales\locales.dat (注意备份原来的locales.dat文件),相对应的字段修改为
[NT]
locale = default, us_english, cp396
4、右击桌面‘我的电脑’-选‘管理’-服务-启动sybase服务,登陆服务器
右击服务名-选择属性配置:内存physical memory和cpu个数
5、添加高速缓存,最后点完成时,提示错误自动绑定-不用理睬
6、建立数据库设备:两个数据设备lscdatanew0=lscdatanew1=10G,一日志设备lscdatanewlog=5G
7、建立转存设备,建lscdatanew设置其属性
(lscdatanew属性-选项选4项ddl in tran;no chkpt on recovery;select intobulkcopy pllset;trunc log on chkpt)
8、绑定高速缓存
9、确认sybase_BS服务已启动,还原数据库(通过B命令还原即可)
A、备份:
C:\isql –Usa –P –S服务器名
Dump database lscdatanew to “c:\back.dump”
Go
压缩版
Dump database lscdatanew to “compress::6::c:\back.dump”
Go
B、还原
C:\isql –Usa –P –S服务器名
Load database lscdatanew from “c:\back.dump”
Go
还原成功后,不要退出。需要联机 *** 作如下
Online database lscdatanew
go
10、登陆服务器修改lscdatanew段:首先右击lscdatanew在属性选项中选中 singer user
将段中日志、数据文件与日志、数据设备相对应。
段修改完成后再去掉先前选中的singer user。
《双核2.8G,内存4G 建库的速度为70M/s 命令还原库的速度180M/s》
lscdatanew 属性-选项 选中以下4个
A、 ddl in tran
B、 no chkpt on recovery当保持最新的数据库备份时,此项设置为true。此时,存在一个基本库和一个辅助库。首先,基本库转储到辅助库中。然后,基本库的事务日志间断地
转储并装载到辅助库中。若此选项设置为缺省值false,重新启动SQL Server时,恢复数据库后将向数据库增加一条检查点记录。检查点记录确保机制不会不必要地重新运行,改变
顺序号,并导致随后从基本库装载事务日志的失败。将辅助库的此项设置打开,恢复过程将不产生检查点,这样从基本库转储的事务日志可以被装载至辅助库。
C、 select intobulkcopy pllset设置恢复模式的,使得在使用select into 语句的时候.事务的日志量达到最少.
文(http://www.diybl.com/course/7_databases/sql/sqlServer/20090917/175575.html)
D、 trunc log on chkpt开放此项, 数据库会每隔一段间隔自动清除log。
sysbase服务无法启动 可能是dsedit ip 通道不对
1053错误:
修改master系统表(首先属性-允许修改sysdatatable=1),将lscdatanew 设为-32768 ,能启动后设为1;将属性恢复默认
sp_password null,new_password
1.子查询是多表查询的一种形式。子查询就是次要查询,它返回的结果数据被用于主查询的条件中。它返回的结果可以是一行或多行。比如:例1//返回一条记录
select *
from emp
where deptno=(select deptno
from dept
where dept_name='SALES')
例2//返回多条记录
select *
from emp
where deptno in (select deptno
from dept
where dept_addr='北京')
由上例可以看出,子查询并不要求两个表有相关字段,只要得到子查询的结果集就行,用于主查询,而连接查询,则必须要求两个表有相关字段。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)