Selektion Daten MS SQL

dsnakas

Benutzer
Beiträge
20
Hallo zusammen

folgendes Dilema:

Ich will aus einer Tabelle 1000 Datensätze selektieren. Diese solln aber nicht alle von einem Verkäufer stammen sondern z.B. 50 Datensätze von jedem verkäufer.

Gibt eien Funktion mit der ich Z.B. sageb kann gib mir die ersten 50 Datensätze mit der Verläufer ID 123
und die ersten 50 Datensätze mit der Verkäufer ID 333 und schreibe diese in Tabelle Top 100

gruß
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.423
Hallo zusammen

folgendes Dilema:

Ich will aus einer Tabelle 1000 Datensätze selektieren. Diese solln aber nicht alle von einem Verkäufer stammen sondern z.B. 50 Datensätze von jedem verkäufer.

Gibt eien Funktion mit der ich Z.B. sageb kann gib mir die ersten 50 Datensätze mit der Verläufer ID 123
und die ersten 50 Datensätze mit der Verkäufer ID 333 und schreibe diese in Tabelle Top 100

gruß


row_number() over (partition by verkaufer_id) und das in ein Subselect und außen ein where row_number <= 50

(so würde ich es in PG machen)
 

ukulele

Datenbank-Guru
Beiträge
4.582
Geht, erfordert allerdings noch ein ORDER BY weil sonst is nich :)
Code:
SELECT    TOP 1000
        t.verkaeufer
FROM    (
SELECT    verkaeufer,
        daten,
        ROW_NUMBER() OVER (PARTITION BY verkaeufer ORDER BY verkaeufer) AS zeile
FROM    verkauf
) t
WHERE    t.zeile <= 50
 

ukulele

Datenbank-Guru
Beiträge
4.582
Woa tut mich voll fett sorry.
Code:
SELECT    TOP 1000
        t.verkaeufer,
        t.daten
FROM    (
SELECT    verkaeufer,
        daten,
        ROW_NUMBER() OVER (PARTITION BY verkaeufer ORDER BY verkaeufer) AS zeile
FROM    verkauf
) t
WHERE    t.zeile <= 50
 
Werbung:
Oben