當前位置:首頁 » 數據倉庫 » 資料庫查詢前20的數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫查詢前20的數據

發布時間: 2022-04-25 13:00:40

⑴ 要取出資料庫中按某欄位排序後的前10,20,30條數據要怎麼做

可以使謂詞Top n來定實現這個需求。例如:

select top 10 * from tableName order by colName;

select top 20 * from tableName order by colName;

select top 30 * from tableName order by colName;

sql查詢排序後前20條語句

SELECTC.DFROM(

SELECTC,D,ROWNUM RNFROM(

SELECTT.*FROMTABLE1 ORDER BY B DESC --降序

) T1

)WHERERN <= 20

註:用ROWNUM的話,你要先排好序,然後再用ROWNUM生成偽列,再限制行數。

(2)資料庫查詢前20的數據擴展閱讀:

關於sql語句查詢排序

一、sql查詢單詞

order by 是用在where條件之後,用來對查詢結果進行排序

order by 欄位名 asc/desc

asc 表示升序(默認為asc,可以省略)

desc表示降序

order by 無法用於子查詢,否則會報錯:除非另外還指定了 TOP 或 FOR XML,否則,ORDER BY 子句在視圖、內聯函數、派生表、子查詢和公用表表達式中無效。

二、關聯查詢(左外查詢)(jt項目菜單查詢)

<select id="findObjects" resultMap="map">

select c.*,p.name parentNam

from sys_menus c left join sys_menus p

on c.parentId=p.id

三、用ORDER BY 子句

SELECT <列名列表> FROM <表名>[WHERE 條件]ORDER BY <欄位名1> [ASC|DESC] [ ,欄位名2 [ASC|DESC] ] [,...n]--order by <欄位名1> (不寫ASC|DESC, 則默認升序ASC)

⑶ 如何查詢資料庫中排名前幾位的數據

方法一: select top 10 * from 表名 order by 列名 方法二: select top 10 percent * from 表名 order by 列名 方法一:是按照指定列名排序後,取前十個方法二:按照指定列名排序後,取總數的10% 希望能夠滿足您的需求,謝謝採納

⑷ 資料庫查詢語句怎樣查詢一個表中的第15到第20條數據

用row_number來查詢。

具體方法如下:

以sqlserver2008R2為例。

1、創建數據表插入數據:

createtabletest
(idint,
namevarchar(20))
insertintotestvalues(1000,'張三')
insertintotestvalues(1001,'李四')
insertintotestvalues(1002,'王五')
insertintotestvalues(1003,'趙六')
insertintotestvalues(1004,'孫七')
insertintotestvalues(1005,'楊八')
insertintotestvalues(1006,'劉九')
insertintotestvalues(1007,'李白')
insertintotestvalues(1008,'杜甫')
insertintotestvalues(1009,'白居易')
insertintotestvalues(1010,'王安石')
insertintotestvalues(1011,'范仲淹')
insertintotestvalues(1012,'老子')
insertintotestvalues(1013,'莊子')
insertintotestvalues(1014,'孫子')
insertintotestvalues(1015,'喬丹')
insertintotestvalues(1016,'詹姆斯')
insertintotestvalues(1017,'韋德')
insertintotestvalues(1018,'羅德曼')
insertintotestvalues(1019,'梅西')
insertintotestvalues(1020,'內馬爾')

2、執行語句,查詢從id由小到大,然後找出第15到第20位的數據:

selectt.id,t.name,t.rnfrom
(selecttest.*,row_number()over(orderbyid)rnfromtest)t
wheret.rnbetween15and20

執行結果如下:

其中紅框部分即為排名信息。

⑸ SQL語句,提取表中數量最大數的前20個! 加分!

這個sql不用max就可以吧 反向排序就可以了
select top 20 * from book order by reads desc

⑹ 資料庫sql查詢語句,關於班級信息,如下:學生名字,編號,班級,成績,把每個班級最大成績前20名,列出來

若為oracle資料庫,則使用rownom來進行查詢
select * from
(
select * from 班級信息
order by 成績 desc
)
where rownom<=20
;
-------推薦答案oracle資料庫那個sql語句有問題,查出來的還是表裡面前20條數據,只是把這20條數據給降序排列了,而不是最大成績的前20.
--------------------------------------
若為sqlserver,則為
select top 20 成績
from 班級信息
order by 成績 desc

⑺ 查詢資料庫中的前10條記錄

SQL Server查詢前N條記錄:
因為id可能不是連續的,所以不能用取得10<id<20的記錄的方法。
有三種方法可以實現:
一、搜索前20條記錄,指定不包括前10條
語句:
select top 20 * from tbl where id not in (select top 10 id from tbl)

二、搜索記錄生成臨時表,建立臨時表的自增id。通過取得自增id的10<id<20的記錄的方法取得所需數據
語句:
select identity(int,1,1) as id,* into #temp from tbl;
select * from #temp where id between 10 and 20
第二個方法實際上是兩條語句,但你可以讓他連續執行,就像一條語句一樣完成任務。
三、如果覺得第一種方法效率太低,經過討論,得出第三種方法:
語句:
SELECT TOP 10 * FROM (SELECT TOP 20 * FROM tblORDER BY id) as tbl2 ORDER BY tbl2.id DESC

⑻ 在SQL中怎樣查詢一個表的第20條數據到30條數據

1、創建測試表,

create table test_order(id number , value varchar2(20));

⑼ access資料庫 怎麼查詢前20條記錄

select top 20 * from table

⑽ 怎麼才能查出sql資料庫中某一表中的10-20條的數據 哪位知道啊 請不吝賜教啊 不好意思分弄光了,沒有了

您好!
資料庫表中的數據是沒有順序的,所以你說的10-20條的數據就必須的有個條件,也就是說
where
某列名
=
XXX,那麼咱們
以Id
列來說吧
sql
語句
select
top
10
*
from
表名
where
id
not
in(select
top
10
id
from
表名)
這個語句是子查詢就是說先查出前10條數據,然後再去查這個表去掉前10條的剩下的所有數據的前10條。明白了嗎?以下是
通用的分頁語句,比較簡單
SELECT
TOP
頁大小
*
FROM
TestTable
WHERE
ID
NOT
IN
(SELECT
TOP
頁大小*頁數
id
FROM

ORDER
BY
id))
ORDER
BY
ID