MSSQL Server Ergebniszeilen beschränken

Thomas Darimont

Erfahrenes Mitglied
Hallo!

Über das Kommando:
SET ROWCOUNT X
(X= Maximale Anzahl an Ergebniszeilen)

Kann man die Anzahl der Ergebniszeilen einschränken.
Bsp:
Code:
 SET ROWCOUNT 10
 select * from dbo.Customers;

Gruß Tom
 
dir kann man glaub ich nicht mehr helfen =)
sieh es bitte im positivem sinne... danGe...

ciao

ps...
ein eintrag ohne problemstellunG =) wie langweilig... joC
 
Dafür wirkt sich SET ROWCOUNT n auch auf andere Statements aus, zB so:

SET ROWCOUNT 10
delete from dbo.Customers;

*mal fleissig mit Klugsch....*

:)
 
Immer diese Besserwisser! :D
Nee, Spaß.

Im Ernst:
Danke für den Tipp.

Hab aber auch noch eine Frage dazu:
Gibt es so was ähnlich auch für Oracle (>=8.1.7)?
 
Hallo!

Unter Oracle kannst du die Ergebnissmenge wie folgt begrenzen:
Code:
 SELECT foo,bar FROM fart where ROWNUM < 11;
So werden die ersten 10(?) Zeilen ausgegeben.

Gruß tom
 
Gibt den in MSSQL auch die Möglichkeit die Ergebnismenge so zu begrenzen, dass man z.B. nur die Zeilen 10-20 ausgibt.

Wäre schön, wenn ihr da ne SQL Lösung für dieses Problem habt.


[ Wink zu MSSQL: "... LIMIT 10,10" ]
 
So könntest Du es machen:

Code:
select top 10 * from
	(select top 20 * from mytable order by mykeycol asc) as temp
order by mykeycol desc

Wichtig sind die beiden gegenläufigen Sortierungen.

Ohne Sortierungen würde ich das "top" aber generell nicht verwenden. SQL arbeitet ja mengenorientiert und in Mengen ist die Position eines Elements ja ohne Bedeutung. Ohne Sortierung kannst Du Dir also nicht sicher sein, dass Deine Daten immer in der gleichen Reihenfolge daherkommen (auch wenns meistens so ist *gg*).
 
Macht mich nicht so richtig glücklich, weil ich es dann nochmal gegensortierne müsste...

Hab vieleicht noch ne Idee, glaube sowas in der Art gibts in MSSQL...

SELECT top 20 FROM tabelle ORDER BY X
is not a result of
SELECT top 10 FROM tabelle ORDER BY X;


Mir gehts um das fettgeschriebene, weiss einer, ob es sowas gibts?
 

Neue Beiträge

Zurück