① sql server,oracle中查詢結果返回指定的行數
select * from (select a.*,a.rownum as roid from table a order by 2 desc/asc )bwhere b.roid between 10 and 20這是ORACLE的寫法,在子查詢里可以根據你所需要的欄位進行排序,然後選取10-20的或者別的你所需要的數據,其中rownum為關鍵字,所以需要在子查詢里定義別名,然後在外層才能引用這個排序鍵值
② sql 查詢指定行
什麼資料庫?
如果是 Oracle 或者 SQL Server 的話。 可以
SELECT
*
FROM
(
SELECT ROW_NUMBER() OVER( ORDER BY 排序的欄位 ) AS 序號
表.*
FROM
表
) tmp
WHERE
tmp.序號 = 12345
如果是 MySQL 的話, 直接
SELECT * FROM 表 LIMIT 12344, 1
註:
LIMIT 接受一個或兩個數字參數。
參數必須是一個整數常量。
如果給定兩個參數,第一個參數指定第一個返回記錄行的偏移量,
第二個參數指定返回記錄行的最大數目。
初始記錄行的偏移量是 0(而不是 1)
③ SQL 限定某個欄位返回行數
select * from 表名 where 列表1=456 and 列表2='工程3'
---------補充--------
select * from 表名 where 列表1 in (select 列表1 from 表名 group by 列表1 having count(列表1)=1)
用用這個語句試試,表名和列名麻煩你自己替換一下
④ sql 查詢返回滿足條件的行和下一行
oracle里可以用ROWNUM偽列,寫了一個例子用作參考:
with t1 as (select rownum n,a,b,lead(rownum)over(order by rownum) ne from cc)
,t2 as (select n,a,b,ne from t1 where 5 in (a,b))
select n,a,b from t2
union
select n,a,b from t1 where n in (select ne from t2)
把a,b換成你的欄位,cc換成你的表名就可以了,我自己用數據測試了下,沒問題。
⑤ sql中限制返回數據行數的關鍵字是什麼
取前N條記錄:
SELECT TOP N column1, column2, column3 FROM tables
⑥ 如果使用select語句返回指定條數的記錄,則應使用什麼關鍵字來限定輸出欄位
TOP 1就是指查找第一條
這是SQL 中的寫法
select top 1 * from logtb
⑦ 訪問ACCESS資料庫的SQL語句中如果想返回指定的記錄條數使用什麼關鍵字
select count(*) from 表
--or
select count(欄位名) from 表
--or
select count(1) from 表 --1為欄位在建表時的順序
⑧ sql server和oracle中查詢結果返回指定行數的語句
SqlServer返回指定行數查詢結果:
selecttop10*fromtalbewherea>10orderbya;
進行排序後,再返回指定行數,可以返回最大的行數或最小的行數。
Oracle返回指定行數查詢結果:
select*fromtablewherea>10andrownum<=10;
進行排序後,只能取得默認的行數,無法直接排序,
若要排序,則要嵌套Sql:
select*from(select*fromtablewherea>10orderbya)whererownum<=10;
你驗證過嗎?oracle子查詢不支持order by?
⑨ SQL查詢語句怎樣限定返回結果集的行數
1、創建測試表,create table test_rows(id number, value varchar(200));
⑩ MS SQL WHERE語句後面限制查詢返回的行數
select top 20 * from table;
不用加where語句 ,top關鍵字是直接返回前幾行。