SQL Abfrage: Gewisse Anzahl an Artikel ausgeben?

2 Antworten

Hey MSMicroFuchs ✌️,

Ich habe ein wenig recherchiert und hier ist der Code, den ich nach bestem Wissen und Gewissen an dich weitergeben kann:

Quellcode:
════════════════════════════════════════════════════

/*
  Auswahl der ersten 10 Artikel, die bestimmte Bedingungen
  erfüllen.
*/
SELECT TOP 10 
  Name AS Name, -- Wählt die Spalte "Name" aus
  Weight AS Weight, -- Wählt die Spalte "Weight" aus
  Price AS Price -- Wählt die Spalte "Price" aus
FROM Article -- Gibt die Tabelle "Article" als Datenquelle an
/*
  Filtert die Zeilen, sodass nur Artikel mit einem Gewicht
  kleiner als 100 angezeigt werden
*/
WHERE Weight < 100

/*
  Sortiert die Ergebnisse in absteigender Reihenfolge nach
  dem"Price"
*/
ORDER BY Price DESC

════════════════════════════════════════════════════

Ich glaube, dass man in der SELECT-Zeile in diesem Fall das `AS` weglassen kann, weil die Spalten sowieso den Namen besitzen und in der Ausgabe dieser Name auch auch ausgegeben wird. Es stört aber nicht, es einfach hin zu schreiben ✌️

Die Entwicklung ist bisher nur ein Hobby von mir, meine Antworten beruhen auf Recherche und Erfahrung, weshalb es vorkommen kann, dass sich Fehler einschleichen.

Ich hoffe, dass dir mit meiner Antwort helfen konnte!

Mit freundlichen Grüßen
o0ojoshua

Woher ich das weiß:Recherche

Du erstellst ein Feld für die Sortierung und nimmst da nur die, die einen index bis 10 haben.

Das Feld kannst du beispielsweise zählst, wie viele andere Zeilen der Tabelle einen kleineren Sortierwert als die aktuelle Zeile haben.
Pass auf, wenn du Felder mit demselben Sortierwert hast, dass die nicht denselben Index erhalten.