學(xué)習(xí)啦 > 學(xué)習(xí)英語(yǔ) > 專業(yè)英語(yǔ) > 計(jì)算機(jī)英語(yǔ) > 數(shù)據(jù)庫(kù)中top的用法

數(shù)據(jù)庫(kù)中top的用法

時(shí)間: 長(zhǎng)思709 分享

數(shù)據(jù)庫(kù)中top的用法

  數(shù)據(jù)庫(kù)中top的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下數(shù)據(jù)庫(kù)中top的用法的用法,希望對(duì)你們有用。

  數(shù)據(jù)庫(kù)中top的用法的用法如下:

  在編寫(xiě)程序中,我們可能遇到諸如查詢最熱門(mén)的5篇文章或返回滿足條件的n條記錄的情況,在SQL語(yǔ)言中,可以使用TOP關(guān)鍵字來(lái)實(shí)現(xiàn)。

  TOP關(guān)鍵字在SQL語(yǔ)言中用來(lái)限制返回結(jié)果集中的記錄條數(shù),其使用方法有兩種形式,下面做以詳細(xì)的介紹:

 ?。?)返回確定數(shù)目的記錄個(gè)數(shù)

  語(yǔ)法格式: SELECT TOP n <列名表> FROM <表名> [查詢條件]

  其中,n為要返回結(jié)果集中的記錄條數(shù)

  (2)返回結(jié)果集中指定百分比的記錄數(shù)

  語(yǔ)法格式: SELECT TOP n PERCENT <列名表> FROM <表名> [查詢條件]

  其中,n為所返回的記錄數(shù)所占結(jié)果集中記錄數(shù)目的百分比數(shù)

  舉例說(shuō)明:

  假設(shè)數(shù)據(jù)庫(kù)中有一個(gè)表存儲(chǔ)的為學(xué)生的信息(student):

  (1)SELECT TOP 20 * FROM student --查詢前20名學(xué)生的信息

 ?。?)SELECT TOP 20 * PERCENT FROM student --查詢學(xué)生表中前20%的學(xué)生信息

  在具體使用過(guò)程中,可以結(jié)合條件子句和排序子句(如何進(jìn)行排序)等實(shí)現(xiàn)較為豐富的功能,如:

  (1)查詢年齡(sage)大于23的前20名學(xué)生的信息

  查詢語(yǔ)句為:SELECT TOP 20 * FROM student WHERE sage > 23

 ?。?)查詢年齡較為大的前20名學(xué)生的信息

  查詢語(yǔ)句為: SELECT TOP 20 * FROM student ORDER BY sage DESC

  在假設(shè)有一個(gè)表為新聞表(news),其列名定義如下:

  ID 新聞編號(hào), 整數(shù)型 自增字段

  Title 新聞標(biāo)題 , 字符串型(varchar)

  Content 新聞內(nèi)容,Text型

  Hits 點(diǎn)擊次數(shù), 整數(shù)類型

  AddDateTime 添加時(shí)間 ,字符串(YYYY-MM-DD)

  則要求查詢:

 ?。?)查詢最新10條新聞,只列出新聞標(biāo)題和添加時(shí)間

  SELECT TOP 10 Title, AddDateTime FROM News ORDER BY AddDateTime DESC

  說(shuō)明:如果新聞增加時(shí)是按時(shí)間發(fā)生的先后順序添加的話,也可以按ID來(lái)排序(因?yàn)镮D為自增字段,ID越大的應(yīng)越新),即:

  SELECT TOP 10 Title, AddDateTime FROM News ORDER BY ID DESC

 ?。?)查詢最熱門(mén)的8條新聞的標(biāo)題和點(diǎn)擊次數(shù)

  查詢語(yǔ)句為: SELECT TOP 8 Title, Hits FROM News ORDER BY Hits DESC

543230