SQL中top使用方法
转自:https://www.cnblogs.com/wang7/archive/2012/07/09/2582891.html
1.
在编写程序中,我们可能遇到诸如查询最热门的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条新闻,只列出新闻标题和添加时间
SELECT TOP 10 Title, AddDateTime FROM News ORDER BY AddDateTime DESC
说明:如果新闻增加时是按时间发生的先后顺序添加的话,也可以按ID来排序(因为ID为自增字段,ID越大的应越新),即:
SELECT TOP 10 Title, AddDateTime FROM News ORDER BY ID DESC
(2)查询最热门的8条新闻的标题和点击次数
查询语句为: SELECT TOP 8 Title, Hits FROM News ORDER BY Hits DESC
SQL中top使用方法的更多相关文章
- SQL中的charindex()方法
CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置.CHARINDEX函数调用方法如下: CHARINDEX ( expression1 , expression2 [ , start ...
- SQL中TOP,LIMIT,ROWNUM的用法
SQL SERVER/MS Access的Select Top的用法: Select TOP number|percent table_columname FROM tablename MySQL/O ...
- sql中limit使用方法
此处以mysql为例,但是我相信物以变通在oracle上也一定适用 下面是几种limit的方法:原则看看下面几个例子应该就懂了 在数据库中很多地方都会用到,比如当你数据库查询记录有几万.几十万时使用l ...
- sql中合并列方法
方法一:创建合并列函数 -------创建一个方法---------- CREATE FUNCTION dbo.Role_Name(@AdminID int) ) AS BEGIN ) SET @r ...
- SQL中的split方法的使用
参数说明: 1.@String :需要split的字符串 2.@Delimiter :格式化时分隔符 3.@index :返回split后数组的值 ), ),)) ) AS BEGIN )) ) DE ...
- sql中的split方法
ALTER function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10))returns @temp table( ...
- ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍
如果我是C罗 原文 ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍 sequence在ORACLE中应用十分广泛,就是序列号的意思,会自动增加指定变数,如逐次增加1或者2或者 ...
- “取出数据表中第10条到第20条记录”的sql语句+select top 使用方法
1.首先.select top使用方法: 參考问题 select top n * from和select * from的差别 select * from table -- 取全部数据.返回无序集合 ...
- 关于SQL递归查询在不同数据库中的实现方法
比如表结构数据如下: Table:Tree ID Name ParentId 1 一级 0 2 二级 1 3 三级 2 4 四级 3 SQL SERVER 2005查询方法: //上查 with ...
随机推荐
- 使用JSTL在页面前的空行怎么去除?
解决的方法是:在每个JSP的头上加上一段代码 <%@ page trimDirectiveWhitespaces="true" %>
- 什么是gevent
gevent是一个基于协程的python网络库,它使用greenlet在libev或libuv事件循环之上提供高级同步API 功能包括 基于libev或libuv的快速时间循环 基于greenlets ...
- 【leetcode刷题笔记】Sort List
Sort a linked list in O(n log n) time using constant space complexity. 题解:实现一个链表的归并排序即可.主要分为三部分: 1.找 ...
- Python 3 并发编程多进程之进程同步(锁)
Python 3 并发编程多进程之进程同步(锁) 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,竞争带来的结果就是错乱,如何控制,就是加锁处理. 1. ...
- Android 蓝牙实例【转】
本文转自:http://www.yiibai.com/android/android_bluetooth.html 在很多方面,蓝牙是一种能够发送或接受两个不同的设备之间传输的数据. Android平 ...
- JSP嵌入ueditor、umeditor富文本编辑器
一.下载: 1.什么是富文本编辑器?就是: 或者是这个: 其中第一个功能比较详尽,其主要用来编写文章,名字叫做udeitor. 第二个就相对精简,是第一个的MINI版,其主要用来编辑即时聊天或者发帖, ...
- Spring Cloud之Swagger集群搭建
在微服务中,Swagger是每个服务 比如会员服务,订单服务,支付服务 进行继承. 如何将整个微服务中的Swagger进行合成,同一台服务器上. 使用Zuul+Swagger实现管理整个微服务API文 ...
- php之定义大字符串数据时使用定界符来标识
在定义大字符串数据时,通常使用定界符来标识,这种方式能保留文本中的格式,如文本中的换行.定界符使用格式如下. <<<identifier 格式化文本 identifier 其中,符号 ...
- KISSY(JS)炫动导航,缓动应用实例(^_^)
一个基于KISSY的简单的动画导航,效果还不错,有点像flash的效果.鼠标移到每一个连接上,背景滑块会迅速移到该链接下方,同时平滑改变大小,自适应链接尺寸,并伴随来回的轻微波动,动感相当不错,呵呵, ...
- POJ 2831 Can We Build This One:次小生成树【N^2预处理】
题目链接:http://poj.org/problem?id=2831 题意: 给你一个图,每条边有边权. 然后有q组询问(i,x),问你如果将第i条边的边权改为x,这条边是否有可能在新的最小生成树中 ...