當前位置:首頁 » 編程語言 » sql取中間一行的數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql取中間一行的數據

發布時間: 2022-04-23 11:50:12

『壹』 資料庫讀取中間幾條記錄的sql語句

在編程中,經常會用到取資料庫中某一段的記錄,如果要取前幾條記錄都是很簡單,在asp中,直接用top就可以了,在php中,用limit就可以,但如果要取資料庫中的第 N 條到第 N條怎麼辦呢,也就是要取資料庫中間的數據,在php,取中間的數據,可以用 limit 很自然的就實現了,主要是asp編程中,需要在sql語句中再重新嵌入一個 sql語句,下面看看 asp 和 php 中不同的 sql 讀取中間幾條記錄。1 Access 採用top從表中取出第 M 條到第 N 條的記錄(如N=M+10) select top N-M+1 * from [tableName] where (id not in (select top M-1 id from [tableName]))
select top N-M+1 * from [tableName] as a where not exists (select * from (select top M-1 * from [tableName] order by id) b where b.id=a.id ) order by id 注意:上述語句不能取從第1條到第N條的數據(即M=1時失效),因為select top N ……中N必須從1開始(參考:資料庫讀取前幾條記錄的SQL語句大全):此問題的解決辦法:要取第1到N條的記錄,需要使用select top N …… 解決。取資料庫第20到第30條中間的十條記錄的sql語句
select top 10 * from [tableName] where id not in (select top 20 id from [tableName] order by id)刪除前10行 delete from [tableName] where id in(select top 10 id from [tableName])
2 MySql 採用limit limit 子句可以被用於強制 select 語句返回指定的記錄數。limit 接受一個或兩個數字參數。參數必須是一個整數常量。如果給定兩個參數,第一個參數指定第一個返回記錄行的偏移量,第二個參數指定返回記錄行的最大數目。

『貳』 sql server2000 中的怎樣查詢指定行之間的數據

sql
server2000中,沒有按行號提取結果的SQL語句,只能把數據按一定方式排序後,取前幾條,取不了中間的:
select
top
n
*
from
proct
或者給proct加ID,然後按ID來取。
其他除非自己寫存貯過程了,但那也不是LZ想要的答案。

『叄』 查詢表中中間的一行數據的Sql語句

先把第二題給你

selecta.id,a.dptid,isnull(b.department,'黑人')department,a.name

onb.id=a.dptid


第一題稍等

第一題
selectpid,
sum(casewhens_id=༽'then1else0end)s1_id,
sum(casewhens_id=༾'then1else0end)s2_id,
sum(casewhens_id=༿'then1else0end)s3_id
fromA
groupbypid

『肆』 SQL Server如何取得某一列中的某一行數據

SQL Server如何取得某一列中的某一行數據?
按你的意思查詢出來的只是一個值,列與行的交叉只有一個數據.

SELECT [列名] FROM [表名] WHERE [列名]=值

如果要顯示某列數值
SELECT [列名] FROM [表名]

如果顯示某列值為定值時的一行
SELECT * FROM [表名] WHERE [列名]=已知值

『伍』 SQL Server中取數據集中間行數據

select name,age from (select name,age,rank() over(order by age) as RN from STUDENT order by age) as a where RN=300

『陸』 sql 取中間幾條記錄

--從Table 表中取出第 m 條到第 n 條的記錄:(Not In 版本)
SELECT TOP n-m+1 * FROM Table WHERE (id NOT IN (SELECT TOP m-1 id FROM Table ))
--從TABLE表中取出第m到n條記錄 (Exists版本)
SELECT TOP n-m+1 * FROM TABLE AS a WHERE Not Exists
(Select * From (Select Top m-1 * From TABLE order by id) b Where b.id=a.id )
Order by id
--m為上標,n為下標,例如取出第8到12條記錄,m=8,n=12,Table為表名
Select Top n-m+1 * From Table
Where Id(Select Max(Id) From
(Select Top m-1 Id From Table Order By Id Asc) Temp)
-----------------------------------------------------------------------------------------------------------------------------------------
表pictures中有兩個欄位:id與title。id是自動編號的­
表中有5條記錄:1--p1,2--p2,3--p3,4--p4,5--p5­
一、找到了一個小規律
string sqlstr = "select top 4 * from pictures order by id desc "; //查詢結果p5,p4,p3,p2---說明是整個表先進行排序,再進行查詢的­
string sqlstr = "select top 3 * from (select top 4 * from pictures order by id desc) "; //-------p5,p4,p3­
string sqlstr = "select top 3 * from (select top 4 * from pictures order by id desc) order by id desc";//-------p5,p4,p3
string sqlstr = "select top 3 * from (select top 4 * from pictures order by id desc) order by id asc"; //-------p2,p3,p4
二、獲取單條記錄:­
假設表中一共有counts條記錄,現在想要查詢第n條記錄,則sql語句應是:­
select top 1 * from (select top (counts-n+1) * from pictures order by id desc) order by id asc­
第三條記錄:­
string sqlstr = "select top 1 * from (select top 3 * from pictures order by id desc) order by id asc";//-------p3­
三、獲取表中多條連續的記錄­
假設表中一共有counts條記錄,現在想要查詢第n到第m條的記錄,則sql語句應是:­
select top (m-n+1) * from (select top (counts-n+1) * from pictures order by id desc) order by id asc­
獲取第二到第四條記錄:­

『柒』 sql中截取字元串中間數據

select
substring(欄位名,charindex('-',欄位名,0)+1,len(欄位名)-charindex('-',reverse(欄位名),0)-charindex('-',欄位名,0))
from
表名
substring是截取函數
charindex是算特定符號位置的函數
reverse是把字元串排反序的函數
了解一下這三個函數吧,這句你就應該懂了,我這句剛才試驗了一下,沒問題,環境sqlserver2000
請採納。

『捌』 sql怎麼查詢一個表中中間的數據

select top 12 * from (select top 24 * from table order by id ) order by id desc

先正序取前24條,再倒序取其中的前12條 ,25-36之間在數據改一個地方:
select top 12 * from (select top 36 * from table order by id ) order by id desc

『玖』 sql從查詢結果中選擇中間某部分記錄

我說1個笨方法哈

select top 300 * into #table from table order by 排序條件

delete top 199 * from #table order by排序條件

select * from #table order by 排序條件


說明:

  1. 這是用虛擬表寫的,方法比較笨,簡單的鐵定會有,你多想想

  2. 我是採取取出來目的記錄,然後過濾掉不要的記錄,剩下的就是你想要的了

  3. 因為你是要200~300條,所以必須要有按什麼來排序的條件,排序不同,結果也不同的


你試試,OK,請採納