转自: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使用方法的更多相关文章

  1. SQL中的charindex()方法

    CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置.CHARINDEX函数调用方法如下: CHARINDEX ( expression1 , expression2 [ , start ...

  2. SQL中TOP,LIMIT,ROWNUM的用法

    SQL SERVER/MS Access的Select Top的用法: Select TOP number|percent table_columname FROM tablename MySQL/O ...

  3. sql中limit使用方法

    此处以mysql为例,但是我相信物以变通在oracle上也一定适用 下面是几种limit的方法:原则看看下面几个例子应该就懂了 在数据库中很多地方都会用到,比如当你数据库查询记录有几万.几十万时使用l ...

  4. sql中合并列方法

    方法一:创建合并列函数 -------创建一个方法---------- CREATE FUNCTION dbo.Role_Name(@AdminID int) ) AS BEGIN ) SET @r ...

  5. SQL中的split方法的使用

    参数说明: 1.@String :需要split的字符串 2.@Delimiter :格式化时分隔符 3.@index :返回split后数组的值 ), ),)) ) AS BEGIN )) ) DE ...

  6. sql中的split方法

    ALTER function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10))returns @temp table( ...

  7. ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍

    如果我是C罗 原文 ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍 sequence在ORACLE中应用十分广泛,就是序列号的意思,会自动增加指定变数,如逐次增加1或者2或者 ...

  8. “取出数据表中第10条到第20条记录”的sql语句+select top 使用方法

    1.首先.select top使用方法: 參考问题  select top n * from和select * from的差别 select * from table --  取全部数据.返回无序集合 ...

  9. 关于SQL递归查询在不同数据库中的实现方法

    比如表结构数据如下: Table:Tree ID Name ParentId 1 一级  0 2  二级 1 3  三级 2 4 四级 3 SQL SERVER 2005查询方法: //上查 with ...

随机推荐

  1. java 从零开始 第二天

    2015年4月28号晚,珠海.晴. Java 的基本数据类型 有整型(integer),浮点型(float),布尔型(boolean),字符型(char) 1.整型(integer) java最基本的 ...

  2. C#访问数据库的步骤

    1.必须导入包含适当的ADO.NET类的名称空间 2.获取具体的数据库连接字符串. 3.实例化Connection对象,并建立.打开连接. 4.使用Command对象,从数据库存取器中读取数据和向数据 ...

  3. HDU - 3081 Marriage Match II 【二分匹配】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3081 题意 有n对男女 女生去选男朋友 如果女生从来没和那个男生吵架 那么那个男生就可以当她男朋友 女 ...

  4. iOS 发大招 otherButtonTitles:(nullable NSString *)otherButtonTitles, ... 写法 && 编写通用类的时候关于可变参数的处理

    开始 我  以为 这个 alertView 里面 ...的写法  应该 是一个 普通的数组  然 并没有 分享一篇好文 http://www.tekuba.net/program/290/ IOS实现 ...

  5. maven setting.xml 中文配置详解(全配置)

    春节假期在家养病,乘有时间整理了下之前的知识——知识贵在归纳总结. 参照了官方文档,针对其中的一些未描述详尽的内容翻查了不少资料,补充到了配置文件中,同时再加上一些说明.例子,方便查阅. 内容虽然比较 ...

  6. P4103 [HEOI2014]大工程

    题目 P4103 [HEOI2014]大工程 化简题目:在树上选定\(k\)个点,求两两路径和,最大的一组路径,最小的一组路径 做法 关键点不多,建个虚树跑一边就好了 \(sum_i\)为\(i\)子 ...

  7. bzoj 1699: [Usaco2007 Jan]Balanced Lineup排队 分块

    1699: [Usaco2007 Jan]Balanced Lineup排队 Time Limit: 5 Sec  Memory Limit: 64 MB Description 每天,农夫 John ...

  8. Mac系统给移动硬盘分区(图文)

    刚买的硬盘500G   准备分几个区 移动硬盘分区格式化有3中形式: 1.Mac OS 扩展日志 格式 此格式mac专用,这种格式的硬盘在PC上不可见,可以用来给 Time Machine 备份, T ...

  9. 一种解决 MacBook 里的 App Store 无法登录的问题

    刚刚买回来的 2018 款带有 touchbar 的 MacBook Pro 15 inc 在用 App Store 安装 app 时一直无法登录成功(网络链接都是好的),导致软件都无法更新,折腾了挺 ...

  10. C++内存使用机制基本概念详解

    .程序使用内存区 一个程序占用的内存区一般分为5种: ()全局.静态数据区:存储全局变量及静态变量(包括全局静态变量和局部静态变量) ()常量数据区:存储程序中的常量字符串等. ()代码区:存储程序的 ...