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

轉自:http://www.biye5u.com/article/db/SQLs/2012/5223.html