1. 程式人生 > >SQL中TOP關鍵字的使用方法

SQL中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條新聞,只列出新聞標題和新增時間
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
本文為本站原創,轉載請務必給出本文的連線地址。
本文來源於翔宇亭IT樂園

相關推薦

SQLTOP關鍵字的使用方法

在編寫程式中,我們可能遇到諸如查詢最熱門的5篇文章或返回滿足條件的n條記錄的情況,在SQL語言中,可以使用TOP關鍵字來實現。 TOP關鍵字在SQL語言中用來限制返回結果集中的記錄條數,其使用方法有兩種形式,下面做以詳細的介紹: (1)返回確定數目的記錄個數 語法格式: SELECT TOP n <列名

sqltop使用方法

在編寫程式中,我們可能遇到諸如查詢最熱門的5篇文章或返回滿足條件的n條記錄的情況,在SQL語言中,可以使用TOP關鍵字來實現。   TOP關鍵字在SQL語言中用來限制返回結果集中的記錄條數,其使用方法有兩種形式,下面做以詳細的介紹: (1)返回確定數目的記錄個數 語法格式:

SQLpartition關鍵字的使用

最近在寫後臺語句時候,運用到了partition這樣一個關鍵字。 先大致說一下背景,有一種資料表,如下 現在需要取出,每一個人最近的一次打卡時間。 思路是,先把資料按照人名分組,然後在每個組裡面按照時間排倒敘,最後取出每組的第一條資料即可。 partition的意思是對資料進行分割槽,s

淺析SQL GO關鍵字的作用

如果只是執行一條語句,有沒有GO都一樣 如果多條語句之間用GO分隔開就不一樣了 每個被GO分隔的語句都是一個單獨的事務,一個語句執行失敗不會影響其它語句執行。 例如: 首先同時執行下邊的語句 select * from sysobjects where id=a

SQLSQL的IN方法:查詢多種狀態值

一、起因 因為要查詢兩種狀態的值,如果用普通的查詢,需要查兩次,再把兩次查詢的值放到一個集合中,再去重,這樣查詢非常麻煩,所以決定優化,使用SQL中的IN查詢: SELECT column_name(s) FROM table_name WHERE co

SQL ServerUnion, Union All與TOP關鍵字同時使用的問題

SQL Server 2008中因專案需要,用一條SQL語順篩選出兩個同構表中的前4條符合條件的記錄 首先想到了Union All對兩個表聯合查詢,但查出來結果怎麼做到只取4條呢? 走了不少彎路,最後發現挺簡單的,如下: SELECT TOP 4 * FROM (SELE

SQL語句TOP子句使用方法

分別介紹TOP子句在SQL server、MySQL、Oracle的使用方法:TOP 子句用於規定要返回的記錄的數目。1、SQL server的語法:SELECT TOP number|percent

SQLEXISTS的使用方法

name if語句 至少 art sans height 是否 adding 不返回 EXISTS用於檢查子查詢是否至少會返回一行數據。該子查詢實際上並不返回不論什麽數據,而是返回值True或False EXISTS 指定一個子查詢,檢測 行 的存在。 Exist

SQLin參數在存儲過程傳遞及使用的方法

str pro let 字符 spl eva lec creat create 背景: 1、使用存儲過程 2、存儲過程中有in 3、in括號裏面的內容作為參數傳遞 解決方案: 1、直接拼接sql 可在存儲過程中拼接字符串,然後執行此字符串,類似於js中的eval PROC

SQL判斷字符串包含字符的方法

大小寫 其他 第一個 數據 區分 rest LG har lec CHARINDEX:查某字符(串)是否包含在其他字符串中,返回字符串中指定表達式的起始位置。 PATINDEX:查某字符(串)是否包含在其他字符串中,返回指定表達式中某模式第一次出現的起始位置;如果在全部有效

SQLto_char方法的應用

1.取得當前日期是本月的第幾周  SQL> select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from dual;  -------------------  20030327 4 18:16:09  2:取

PL/SQL查詢Oracle大數(17位以上)時顯示科學計數法的解決方法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

PHP的魔術方法關鍵字

  PHP中的魔術方法總結 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __slee

SQL的一些關鍵字用法

1.where  條件篩選結果 select * from `表名` where `列名`='value' 上訴語句的意思是在某表中查詢某列名等於某特定值得所有列 2.Like  模糊查詢 select *from `表名` where `列名`like `高%`; 上訴語句意思

SQL 給字串補0方法

--第一種方法(五個0,代表五位數)SELECT RIGHT('00000'+CAST(ID AS nvarchar(50)),5) FROM dbo.TableName --左邊補0,如 00001,00039SELECT LE

SQL獲得EXEC後面的sql語句或返回值的方法

SQL中獲得EXEC後面的sql語句或返回值的方法 前言:在資料庫程式開發的過程中,我勱們經常會碰到學習利用EXEC來執行一段需要返回某些值的sql語句(通常是構造動態sql語句時使用),或者在一個HTML儲存過程中利用EXEC呼叫另一個HTML有返回值的儲存過程(必須獲得返回值),那麼如何獲得

javastatic關鍵字的使用--靜態方法

一、靜態方法中只能有靜態成員。 static修飾的方法可以被類直接呼叫,不需要new物件。所以static方法內部的變數和方法也是需要被類呼叫的,所以static方法內部的變數和方法都是static的。 package com.keyword.test; /** * 靜態方法

JavaScriptthis關鍵字改變指向的三種方法(apply、call、bind)

首先,瞭解一下this關鍵字。this關鍵字就涉及到函式呼叫的內容。函式的幾種呼叫方式: 普通函式呼叫 作為方法來呼叫 作為建構函式來呼叫 使用apply/call方法來呼叫 Function.prototype.bind方法 ES6箭頭函式 但是不管

SQL Server儲存過程top後為變數時的處理

@pageRecordNum為每頁顯示的記錄數,@currentPageNum為當前的頁數 create proc pagination  @pageRecordNum int,@currentPageNum int as  declare @recNum varchar(

C#(.net)的一次連線資料庫執行多條sql語句(兩種方法)

第一種方法: string str="server=.;uid=sa;pwd=111111;database=text_db";//連線字串 SqlConnection SCON = null;//連線物件 SqlCommand SCom=new SqlCommand();/