sql查詢前10條記錄
1. 關於sql查詢前10條記錄
缺少查詢的參數,可以修改為:
select
top
10
*
from
tablename
還可以按照某個欄位排序的前幾個:
select
top
10
*
from
tablename
order
by
欄位名
2. 使用一條sql語句查詢出前十條記錄
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY ROWID) ROW_NUMBER, A.*
FROM TABLE1 A)
WHERE ROW_NUMBER <= 10
3. sql 查詢出結果 怎麼讓它只顯示前十條數據
sql 查詢出結果讓它只顯示前十條數據可以通過top關鍵字。語句格式為SELECT TOP 10 <列名表> FROM <表名> [查詢條件]。TOP關鍵字在SQL語言中用來限制返回結果集中的記錄條數,有兩種使用形式,其中一種是TOP關鍵字後帶數字,表示要返回結果集中的記錄條數。
(3)sql查詢前10條記錄擴展閱讀:
TOP關鍵字的另一種使用形式,是TOP關鍵字後帶百分比數,表示要返回結果集中指定百分比的記錄數。語法格式為SELECT TOP n PERCENT <列名表> FROM <表名> [查詢條件]。
TOP關鍵字對於擁有數千條記錄的大型表來說,是非常有用的。在具體使用過程中,也可以結合條件子句和排序子句(如何進行排序)等實現較為豐富的功能。注意的是,並非所有的資料庫系統都支持 TOP 關鍵字。
4. MySql怎麼查詢前10條數據
MySql查詢前10條數據sql語句為:select*fromtable_namelimit0,10 。
通常0是可以省略的,直接寫成 limit 10。0代表從第0條記錄後面開始,也就是從第一條開始。
(4)sql查詢前10條記錄擴展閱讀:
1、SQLServer查詢前10條的方法為:
selecttopX*fromtable_name
2、ORACLE查詢前10條的方法:
select*fromtable_namewhererownum<X
3、Informix查詢前10條記錄的方法:
selectfirst10*fromtablename
5. 從SQl中查詢數據,只顯示前10條數據,無論有沒有數據,10行始終顯示,空白即可。怎麼實現啊
設表名及結構為:TABLENAME(FIELD1,FIELD2,FIELD3)
這樣:
select
top
10
FIELD1,FIELD2,FIELD3
from
(
SELECT
SORTSTR=0,FIELD1,FIELD2,FIELD3
FROM
TABLENAME
union
SELECT
SORTSTR=1,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=2,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=3,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=4,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=5,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=6,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=7,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=8,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=9,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=10,FIELD1='',FIELD2='',FIELD3=''
)
a
order
by
SORTstr
思路是,1、查詢中加一個排序欄位,用來次空記錄放到最後。
2、寫出10個空記錄查詢與主表連接。
這樣,無論主表有多少條記錄,都能顯示10條記錄,不足的用空記錄補充
語句看似很多,其實10行空記錄只要寫一行,其餘復制即可。
6. 怎麼使用sql server查詢顯示第10條到第20條信息
1、sql查詢前10條數據:
select top 10 * from tablename where 1=1;1
2、oracle查詢前10條數據:
select * from tablename where rownum<=10;1
oeacle中沒有top,使用的是rownum,下面是關於rownum的介紹:
================================
rownum是Oracle從8開始提供的一個偽列,是把SQL出來的結果進行編號,始終從1開始,常見的用途就是用來分頁輸出.
select * from tablename where rownum<=10;1
rownum也可以實現數據分頁查詢:
SELECT *
FROM (SELECT a.*, ROWNUM rn
FROM tablename a)
WHERE rn >= 10 AND rn <= 201234567
這條語句即是輸出第10到第20條紀錄,這里之所以用rownum rn,是把rownum轉成實例,因為rownum本身只能用 <=的比較方式,只有轉成實列,這樣就可做 >=的比較了。
7. sql server 怎麼查詢前n條數據
1. Oracle資料庫
SELECT * FROM TABLENAME WHERE ROWNUM <= N
2. Infomix資料庫
SELECT FIRST N * FROM TABLENAME
3. DB2資料庫
SELECT *
FROM (SELECT * ROW_NUMBER() OVER({ORDER BY COL1 DESC}) AS ROWNUM FROM TABLENAME)
WHERE ROWNUM <= N
或者
SELECT COLUMN FROM TABLENAME FETCH FIRST N ROWS ONLY
4. SQL Server資料庫
SELECT TOP N * FROM TABLENAME
5. Sybase資料庫
SET ROWCOUNT N
GO
SELECT * FROM TABLENAME
6. MySQL資料庫
SELECT * FROM TABLENAME LIMIT N
7. FoxPro資料庫
SELECT * TOP N FROM TABLENAME ORDER BY COLUMN
以下示例從表 [tableName] 中讀取符合查詢條件的前10條記錄的SQL語句
1.Access
select top (10) * from [tableName] where [query condition]
1.1 帶order by的查詢限制
Access中對select top的語句支持有限,如果要在查詢top語句的後面使用order by,則order by排序欄位必須是無重復值,如果有重復值的話,那麼這個TOP很可能會失效,會返回所有記錄。
解決辦法:在order by 最後面加入主鍵id,如:
select top 10 from [tableName] order by 排序欄位1,id
1.2 帶子查詢的示例
假如id是表[tableName]的主鍵,以下語句期望返回三條記錄,但結果返回4條記錄
select top 3 * from [tableName] where id in(是個子查詢,結果比如為1,2,3,4)
解決辦法
select top 3 * from [tableName] where id in(是個子查詢,結果比如為1,2,3,4) order by id
2 DB2
select column from [tableName] where [query condition] fetch first 10 rows only
3 MySQL
select * from [tableName] where [query condition] limit 10
4 SQL Server
4.1 讀取前10條
select top (10) * from [tableName] where [query condition]
4.2 讀取後10條
select top (10) * from [tableName] order by id desc
4.3 按照某個排序,第5到10這幾個記錄
select top 6 * from [tableName] where id not in(select top 4 id from [tableName])
5 Oracle
select * from [tableName] where rownum<=10
8. 在PLSQL中怎麼能取到表中按ID降序排列的前十條記錄
在PLSQL中怎麼能娶到表中按ID降序排列的前十條記錄的sql語句是:
select rownum,t.* from (select * from test order by id desc) t where rownum<11;
PLSQL是連接的oracle資料庫,oracle中沒有limit(limit是mysql中的用法)、top(top是sqlserver)關鍵字,oracle中限制行數條件是用rownum。
PL/SQL主要用於資料庫編程,所以其所有的數據類型跟Oracle資料庫里的欄位類型是一一對應的,大體分為數字型、布爾型、字元型和日期型。這里簡單介紹兩種常用數據類型:number、varchar2。
number,用來存儲整數和浮點數。范圍為1e130~10e125,其使用語法為:number[(precision, scale)]其中(precision, scale)是可選的,precision表示所有數字的個數,scale表示小數點右邊數字的個數。
varchar2用來存儲變長的字元串,其使用語法為:varchar2[(size)]其中size為可選,表示該字元串所能存儲的最大長度。
在PL/SQL中聲明變數與其他語言不太一樣,它採用從右往左的方式聲明,比如聲明一個number類型的變數v_id,那其形式應為:
v_id number,如果給上面的v_id變數賦值,不能用「=」,應該用「:=」,即形式為:v_id :=5;
(8)sql查詢前10條記錄擴展閱讀
對於rownum來說它是oracle系統順序分配為從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依次類推,這個偽欄位可以用於限制查詢返回的總行數,且rownum不能以任何錶的名稱作為前綴。
1、rownum對於等於某值的查詢條件,例如:
SQL> select rownum,id,name from student where rownum=1;
SQL> select rownum,id,name from student where rownum =2;
2、rownum對於大於某值的查詢條件,例如
SQL>select * from(select rownum no ,id,name from student) where no>2;
3、rownum對於小於某值的查詢條件,rownum對於rownum<n((n>1的自然數)的條件認為是成立的,所以可以找到記錄。
9. 查詢資料庫中的前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
10. 常用幾種資料庫,取前10條記錄的sql語句寫法
MYSQL
查詢語句+LIMIT+10
取查詢記錄的前十條。
如:SELECT
*
FROM
Test
LIMIT
10
查詢語句+LIMIT+2,10
取查詢語句,從第二條記錄,取十條記錄。
如:SELECT
*
FROM
Test
LIMIT
2,10