當前位置:首頁 » 編程語言 » sqltop查詢

sqltop查詢

發布時間: 2022-04-14 23:03:11

sqltop應該怎麼用

select top 10 * from record --加 "top 10" 表示查詢的是數據表中的前十行數據

select top 10 percent * from record --加「top 10 percent」表示查詢的是數據表中前10%的數據,若將10改為20,則查詢的就是前20%的數據.

declare @i int --聲明變數
set @i=20 --給變數賦值
select top (@i) percent * from record --查詢數據表中前20%的數據.若後面不跟percent,則查詢的為前20行數據.

② SQL 查詢TOP子查詢

可以用變數(把查詢的SQL語句存放到字元串變數中,再用exec sp_executesql來執行):

declare @sql nvarchar(1000), @top int
select @top=sort from tx_trainslist where stationname='安康' and trainid='1004/1005'
set @sql = 'select top ' + cast(@top as varchar(10)) + ' sort from tx_trainslist where trainid=''1004/1005'' order by sort'
exec sp_executesql @sql

③ sql top用法 詳細的

top
是在上面的意思

select
top(3)
跟select
不同的就是select
是把所有符合條件的數據羅列出來,而select
top(3)只取上面三條數據

④ SQL 語句查詢,關於 TOP、ORDER BY 語句使用問題,想了很久也沒想明白,望高手指點下。

只有特定情況下的子查詢(TOP

FOR
XML),才允許order
by,否則子查詢中不允許出現order
by

⑤ sql查詢語句用top和order by哪個效率高

這個看錶結構,如果獲得條目最好使用top的方式,如果就是獲得一個最大欄位就用Max,用MAX受92標准制約,如果除了最大欄位還要用其它欄位反倒要用group by,相反倒麻煩了!

----------------------------------------------------------------
SET STATISTICS PROFILE ON
SET STATISTICS IO ON
SET STATISTICS TIME ON
GO
SELECT TOP 1(Proct_ID)
FROM [Proct] ORDER BY Proct_ID
GO
SET STATISTICS PROFILE OFF
SET STATISTICS IO OFF
SET STATISTICS TIME OFF

SET STATISTICS PROFILE ON
SET STATISTICS IO ON
SET STATISTICS TIME ON
GO
SELECT MAX(Proct_ID)
FROM [Proct]
GO
SET STATISTICS PROFILE OFF
SET STATISTICS IO OFF
SET STATISTICS TIME OFF

SQL Server 分析和編譯時間:
CPU 時間 = 0 毫秒,佔用時間 = 1 毫秒。

(1 行受影響)
表 'Proct'。掃描計數 1,邏輯讀取 3 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。

(3 行受影響)

SQL Server 執行時間:
CPU 時間 = 0 毫秒,佔用時間 = 1 毫秒。
SQL Server 分析和編譯時間:
CPU 時間 = 0 毫秒,佔用時間 = 0 毫秒。

SQL Server 執行時間:
CPU 時間 = 0 毫秒,佔用時間 = 0 毫秒。

SQL Server 執行時間:
CPU 時間 = 0 毫秒,佔用時間 = 0 毫秒。
SQL Server 分析和編譯時間:
CPU 時間 = 0 毫秒,佔用時間 = 2 毫秒。

(1 行受影響)
表 'Proct'。掃描計數 1,邏輯讀取 3 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。

(4 行受影響)

SQL Server 執行時間:
CPU 時間 = 0 毫秒,佔用時間 = 0 毫秒。
SQL Server 分析和編譯時間:
CPU 時間 = 0 毫秒,佔用時間 = 0 毫秒。

SQL Server 執行時間:
CPU 時間 = 0 毫秒,佔用時間 = 0 毫秒。

SQL Server 執行時間:
CPU 時間 = 0 毫秒,佔用時間 = 0 毫秒。
-------------------------------------------------------------------看出來了吧!Max並不是那麼理想,它影響了4行數據,IO了一行,top 影響了三行,IO了一行。
我這個表有三萬的數據,執行時間不相上下。但是都是scan了一次。
關鍵還是看錶結構,你上來就說那個效率高不看錶結構那是不行的,如果你的order by欄位是升序索引,或是倒排索引, top 也未必比MAX差。

如果你MAX(裡面欄位沒用索引,或是加工了函數),那麼也快不到哪去!
----------------------------------------------------------------
一句話,跟表結構有很大關系。

⑥ sql查詢語句:top n的用法

top是指按順序選取前幾個數據。order
by是屬性默認升序排列(asc),如果想倒序+desc
select
*和select
all
select
1一樣是選取所有(任意一個)
top
3前3個
select
查詢表達式是+表中的元組中的候選碼
select
no
from
no是table表中的一個碼,就是唯一標示這一元組的名字,額
就是名字
不能直接用select+數字
只能用select
123
as
no

⑦ SQL 查詢TOP *

CREATE PROCEDURE Wj_School_GetListByGaoXin1 @Info_Type varchar(50),
@top1 int
AS
DECLARE @sqlStr varchar(400)
SET @sqlstr = 'select top ' + cast(@top1 AS char(10))
+ ' * FROM
(
SELECT
DISTINCT (Wj_School.[Id]),Wj_School.[Name],Wj_School.[MaxArea], Wj_School.[Province],Wj_School.[RegTime]
FROM Wj_SchoolInfo
CROSS JOIN
Wj_School
WHERE
(Wj_SchoolInfo.[S_Id] = Wj_School.[Id]) AND (Wj_School.Groom = 1) AND (Wj_SchoolInfo.Groom = 1) AND (Wj_School.Locked = 1)AND (Wj_SchoolInfo.Info_Type = @Info_Type)
) AS A
ORDER BY A.RegTime DESC '

EXEC @sqlStr
把alanwsw的稍微改了下
---------------------------------------------------------------
CREATE PROCEDURE Wj_School_GetListByGaoXin @Info_Type varchar(50),
@top1 int AS DECLARE @top2 varchar(100)
SET @top2 = cast(@top1 AS varchar(100))
EXEC ('select top ' + @top2 + ' * FROM
(
SELECT
DISTINCT (Wj_School.[Id]),Wj_School.[Name],Wj_School.[MaxArea], Wj_School.[Province],Wj_School.[RegTime]
FROM Wj_SchoolInfo
CROSS JOIN
Wj_School
WHERE
(Wj_SchoolInfo.[S_Id] = Wj_School.[Id]) AND (Wj_School.Groom = 1) AND (Wj_SchoolInfo.Groom = 1) AND (Wj_School.Locked = 1)AND (Wj_SchoolInfo.Info_Type = '
+ @Info_Type + ')
) AS A
ORDER BY A.RegTime DESC ')

這回應該對了

⑧ VB中SQL分頁查詢TOP語句的寫法

一個是用存儲過程。
另外一種是拼湊SQL語句,按照你的描述,應該是傾向於拼湊SQL語句:
Dim PageSize as interger
Dim CurPage as interger
Dim mySql;
MyStr = "Select top " & PageSize & " * from Employees where id not in (select top " & PageSize & " *(" & CurPage & "-1) id from Employees order by id) order by id"
然後調用執行就可以了

⑨ SQL中TOP 子句的作用是什麼

top是在sqlserver中使用的

查詢前幾條記錄

sqlserver分頁主要使用top來實現

⑩ sql查詢top關鍵字

操作步驟如下:


1、首先假設在SQLServer中有一個基本的資料庫,有6條數據。




結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。


結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統。

熱點內容
硬碟緩存什麼用 發布:2025-05-19 22:09:41 瀏覽:11
蘋果筆記本配置好的有哪些 發布:2025-05-19 22:08:57 瀏覽:14
oracle存儲過程中批量修改表結構 發布:2025-05-19 22:02:22 瀏覽:520
php支付寶sdk 發布:2025-05-19 22:01:06 瀏覽:602
雲掃墓源碼 發布:2025-05-19 22:00:32 瀏覽:593
executeupdatesql 發布:2025-05-19 21:58:36 瀏覽:217
中國電信如何轉人工密碼是多少 發布:2025-05-19 21:44:54 瀏覽:209
求階乘的c語言 發布:2025-05-19 21:15:20 瀏覽:965
話嘮安卓哪裡下載 發布:2025-05-19 20:27:04 瀏覽:166
瘋狂android講義光碟 發布:2025-05-19 20:12:31 瀏覽:153