Heim Datenbank MySQL-Tutorial (转)SqlServer2005高效分页sql查询语句汇总

(转)SqlServer2005高效分页sql查询语句汇总

Jun 07, 2016 pm 03:13 PM
sql 分页 查询 语句 高效

sqlserver2005不支持关键字limit ,所以它的分页sql 查询 语句 将不能用mysql的方式进行,幸好sqlserver2005提供了top,rownumber等关键字,这样就能通过这几个关键字实现分页。 下面是本人在网上查阅到的几种 查询 脚本的写法: 几种sqlserver2005 高效 分

sqlserver2005不支持关键字limit ,所以它的分页sql查询语句将不能用mysql的方式进行,幸好sqlserver2005提供了top,rownumber等关键字,这样就能通过这几个关键字实现分页。

下面是本人在网上查阅到的几种查询脚本的写法:

几种sqlserver2005高效分页sql查询语句
top方案:
???sql code

select top 10 * from table1
???where id not in(select top 开始的位置 id from table1)

max:
????sql code

select top 10 * from table1
????where id>(select max(id)
????from (select top 开始位置 id from table1order by id)tt)

row:
? ? sql code

select *
from (
????select row_number()over(order by tempcolumn)temprownumber,*
????from (select top 开始位置+10 tempcolumn=0,* from table1)t
)tt
where temprownumber>开始位置
3种分页方式,分别是max方案,top方案,row方案

效率:
第1:row
第2:max
第3:top

缺点:
max:必须用户编写复杂sql,不支持非唯一列排序
top:必须用户编写复杂sql,不支持复合主键
row:不支持sqlserver2000

测试数据:
共320万条数据,每页显示10条数据,分别测试了2万页、15万页和32万页。

页码,top方案,max方案,row方案
2万,60ms,46ms,33ms
15万,453ms,343ms,310ms
32万,953ms,720ms,686ms


是一种通过程序拼接sql语句的分页方案,
用户提过的sql语句不需要编写复杂的sql逻辑

诺用户提供sql如下
sql code
select * from table1

?

从第5条开始,查询5条,处理后sql变为
sql code
select *
from (
????select row_number()over(order by tempcolumn)temprownumber,*
????from (select top 10 tempcolumn=0,* from table1)t
)tt
where temprownumber>5

?

这是什么意思呢?分解一下

首先将用户输入的sql语句转稍稍修改
在select后添加top 开始位置+条数变成
再外加一列tempcolum,变成这样
sql code
select top 20 tempcolumn=0,* from clazz


嵌套一层,这样便可查询出行号
???刚才那个列就是用来这里order by用的
(也不知道sqlserver的row_number函数为什么必须要order by)
sql code
select row_number()over(order by tempcolumn)temprownumber,*
from (修改过的查询)t


再套一层,过滤掉行号小于开始位置的行
sql code
select * from (第二层)tt
where temprownumber>10

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Apr 17, 2024 pm 02:57 PM

HQL und SQL werden im Hibernate-Framework verglichen: HQL (1. Objektorientierte Syntax, 2. Datenbankunabhängige Abfragen, 3. Typsicherheit), während SQL die Datenbank direkt betreibt (1. Datenbankunabhängige Standards, 2. Komplexe ausführbare Datei). Abfragen und Datenmanipulation).

12306 So überprüfen Sie historische Ticketkaufdatensätze. So überprüfen Sie historische Ticketkaufdatensätze 12306 So überprüfen Sie historische Ticketkaufdatensätze. So überprüfen Sie historische Ticketkaufdatensätze Mar 28, 2024 pm 03:11 PM

Laden Sie die neueste Version der Ticketbuchungs-App 12306 herunter, mit der jeder sehr zufrieden ist. Es gibt viele Ticketquellen, die in der Software bereitgestellt werden -Namenauthentifizierung zum Online-Kauf von Tickets. Alle Benutzer können ganz einfach Reisetickets und Flugtickets kaufen und verschiedene Ermäßigungen genießen. Sie können auch im Voraus mit der Buchung beginnen, um Tickets zu erhalten. Damit können Sie mit einem Klick dorthin fahren, wo Sie möchten, und so das Reisen einfacher und bequemer gestalten Noch komfortabler: Der Herausgeber stellt die Details jetzt online dar. Bietet 12306 Benutzern die Möglichkeit, historische Ticketkaufaufzeichnungen einzusehen. 1. Öffnen Sie Railway 12306, klicken Sie unten rechts auf „Mein“ und dann auf „Meine Bestellung“. 2. Klicken Sie auf der Bestellseite auf „Bezahlt“. 3. Auf der kostenpflichtigen Seite

So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com Mar 28, 2024 pm 04:31 PM

Wie kann ich meine akademischen Qualifikationen auf Xuexin.com überprüfen? Sie können Ihre akademischen Qualifikationen auf Xuexin.com überprüfen. Viele Benutzer wissen nicht, wie sie ihre akademischen Qualifikationen auf Xuexin.com überprüfen können Benutzer kommen vorbei und schauen sich um! Tutorial zur Nutzung von Xuexin.com: So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com 1. Zugang zu Xuexin.com: https://www.chsi.com.cn/ 2. Website-Abfrage: Schritt 1: Klicken Sie auf die Adresse von Xuexin.com Um die Startseite aufzurufen, klicken Sie oben auf [Bildungsabfrage]; Schritt 2: Klicken Sie auf der neuesten Webseite auf [Abfrage], wie durch den Pfeil in der Abbildung unten dargestellt. Schritt 3: Klicken Sie dann auf der neuen Seite auf [Anmelden bei akademischer Kreditdatei]. Schritt 4: Geben Sie auf der Anmeldeseite die Informationen ein und klicken Sie auf [Anmelden].

Der Speicherplatz auf Laufwerk C geht zur Neige! 5 effiziente Reinigungsmethoden enthüllt! Der Speicherplatz auf Laufwerk C geht zur Neige! 5 effiziente Reinigungsmethoden enthüllt! Mar 26, 2024 am 08:51 AM

Der Speicherplatz auf Laufwerk C geht zur Neige! 5 effiziente Reinigungsmethoden enthüllt! Bei der Verwendung von Computern werden viele Benutzer auf die Situation stoßen, dass der Speicherplatz auf Laufwerk C knapp wird. Insbesondere nach dem Speichern oder Installieren einer großen Anzahl von Dateien nimmt der verfügbare Speicherplatz auf Laufwerk C schnell ab, was sich auf die Leistung des Computers auswirkt Laufgeschwindigkeit. Zu diesem Zeitpunkt ist es unbedingt erforderlich, das Laufwerk C zu bereinigen. Wie kann man also das Laufwerk C effizient bereinigen? Als Nächstes werden in diesem Artikel 5 effiziente Reinigungsmethoden vorgestellt, mit denen Sie das Problem des Speicherplatzmangels auf dem C-Laufwerk einfach lösen können. 1. Bereinigen Sie temporäre Dateien. Temporäre Dateien werden generiert, wenn der Computer ausgeführt wird.

Vergleich der Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL Vergleich der Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL Mar 16, 2024 am 11:15 AM

MySQL und PL/SQL sind zwei unterschiedliche Datenbankverwaltungssysteme, die die Merkmale relationaler Datenbanken bzw. prozeduraler Sprachen darstellen. In diesem Artikel werden die Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL anhand konkreter Codebeispiele zur Veranschaulichung verglichen. MySQL ist ein beliebtes relationales Datenbankverwaltungssystem, das Structured Query Language (SQL) zum Verwalten und Betreiben von Datenbanken verwendet. PL/SQL ist eine für Oracle-Datenbanken einzigartige prozedurale Sprache und wird zum Schreiben von Datenbankobjekten wie gespeicherten Prozeduren, Triggern und Funktionen verwendet. Dasselbe

Der beste Weg, die Array-Paginierung in PHP zu implementieren Der beste Weg, die Array-Paginierung in PHP zu implementieren May 04, 2024 pm 02:39 PM

Es gibt zwei gängige Methoden zum Paginieren von PHP-Arrays: Verwenden der Funktion array_slice(): Berechnen der Anzahl der zu überspringenden Elemente und Extrahieren des angegebenen Elementbereichs. Verwenden Sie integrierte Iteratoren: Implementieren Sie die Iterator-Schnittstelle, und die Methoden rewind(), key(), current(), next() und valid() werden verwendet, um Elemente innerhalb des angegebenen Bereichs zu durchlaufen.

Vergleich der Kosten für das Erlernen von Python und C++: Welches ist die Investition mehr wert? Vergleich der Kosten für das Erlernen von Python und C++: Welches ist die Investition mehr wert? Mar 25, 2024 pm 10:24 PM

Python und C++ sind zwei beliebte Programmiersprachen, jede mit ihren eigenen Vor- und Nachteilen. Für Leute, die Programmieren lernen möchten, ist die Entscheidung, Python oder C++ zu lernen, oft eine wichtige Entscheidung. In diesem Artikel werden die Lernkosten von Python und C++ untersucht und erläutert, welche Sprache den Zeit- und Arbeitsaufwand mehr wert ist. Beginnen wir zunächst mit Python. Python ist eine interpretierte Programmiersprache auf hohem Niveau, die für ihre einfache Erlernbarkeit, ihren klaren Code und ihre prägnante Syntax bekannt ist. Im Vergleich zu C++, Python

Analyse des Einflusses der MySQL-Verbindungsnummer auf die Datenbankleistung Analyse des Einflusses der MySQL-Verbindungsnummer auf die Datenbankleistung Mar 16, 2024 am 10:09 AM

Analyse des Einflusses der MySQL-Verbindungsnummer auf die Datenbankleistung Mit der kontinuierlichen Entwicklung von Internetanwendungen sind Datenbanken zu einem wichtigen Datenspeicher- und Verwaltungstool zur Unterstützung von Anwendungssystemen geworden. Im Datenbanksystem ist die Anzahl der Verbindungen ein wichtiges Konzept, das in direktem Zusammenhang mit der Leistung und Stabilität des Datenbanksystems steht. Dieser Artikel beginnt aus der Perspektive der MySQL-Datenbank, untersucht die Auswirkungen der Anzahl von Verbindungen auf die Datenbankleistung und analysiert sie anhand spezifischer Codebeispiele. 1. Wie viele Verbindungen gibt es? Die Anzahl der Verbindungen bezieht sich auf die Anzahl der Client-Verbindungen, die das Datenbanksystem gleichzeitig unterstützt. Es kann auch verwaltet werden

See all articles