Zum Inhalt springen

Top X mit Group By


batzenlurch

Empfohlene Beiträge

Hallo Zusammen,

Ich stehe gerade auf'm Schlauch und Google kann mir trotz zahlloser Einträge gerade nicht helfen.

Zum Thema. Ich möchte aus einer Tabelle die letzten 3 Aufträge zu einem Artikel herausfinden und bekomm den SQL String nicht hin:

Tabelle KA1:

AuftragsNr ArtikelNr Datum

11.2 1 20090112

22.1 1 20090112

31.3 1 20090110

12.a 2 20090114

43 4 20090522

34.1 1 20090101

Mein bisheriger Code:

SELECT TOP 3 KA1.AuftragsNr, KA1.ArtikelNr FROM 

(

  SELECT AuftragsNr, ArtikelNr, Datum

  FROM KA1

  ORDER BY DATUM DESC

) AS tmp_KA1 INNER JOIN KA1 ON (KA1.AuftragsNr = tmp_KA1.AuftragsNr) AND (KA1.ArtikelNr = tmp_KA1.ArtikelNr)

GROUP BY KA1.ArtikelNr, KA1.AuftragsNr

ORDER BY KA1.ArtikelNr

Bitte um eine kleine Hilfestellung. Steh total auf'm Schlauch :upps

Danke!

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Zusammen,

Zum Thema. Ich möchte aus einer Tabelle die letzten 3 Aufträge zu einem Artikel herausfinden und bekomm den SQL String nicht hin:

interessieren die neuesten aufträge zu EINEM artikel oder für JEDEN artikel?

für einen einzelnen artikel wäre


SELECT AuftragsNr,ArtikelNr FROM KA1 WHERE ArtikelNr = 1 ORDER BY Datum DESC

Willst du das ganze für JEDEN artikel müsstest du wohl auf einen Cursor zurückgreifen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

das hat mich etwas gefuchst und ich hab mal ne Lösung gesucht und gebastelt, die soweit (ungetestet) so oder so ähnlich auf sql server und oracle laufen sollte:

select * from

(select Auftragsnr, Artikelnr,Datum,

rank() over (partition by Artikelnr order by Datum desc) as rank

from KA1

order by Artikelnr)

where rank <=3

order by Artikelnr, rank;

Gerne mit Rückmeldung, hab es wie gesagt noch nicht getestet

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

erst mal Danke für die Beiträge.

Ich möchte eine Übersicht der letzten 3 Aufträge PRO Artikel.

Leider kann das DBMS keine Subqueries.

jeglalf - dein sql string funktioniert leider nicht in access.

ps. ich gehe über access per ODBC auf die DB.

Gruß

.- ja, und welche DB ist es denn ?

gruss

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...