SELECT * FROM // c[_]~~

Avatar

ein IT-Blog, mehr nicht!

SQL Unlimited - aus LIMIT wird TOP

Manchmal möchte man das Ergebnis einer Datenbank-Abfrage begrenzen. Man möchte nur die 10 teuersten Produkte oder die ersten 50 Datensätze einer Abfrage haben, weil man entweder nicht mehr anzeigen kann oder den Rechen-Aufwand reduzieren will.

Die folgende Abfrage für die Northwind-Datenbank funktioniert nicht in MS Access:

SELECT ProductName, UnitPrice
FROM products
ORDER BY UnitPrice DESC
LIMIT 10;

(Siehe SQL-Basics)

Dabei wird diese Fehlermeldung ausgegeben:

Syntaxfehler (fehlender Operator) in Abfrageausdruck 'Unitprice LIMIT 10'.

Das gewünschte Ergebnis kann jedoch mit einer ähnlichen Anweisung ausgelesen werden:

SELECT TOP 10 ProductName, UnitPrice
FROM products
ORDER BY UnitPrice DESC;

Limiting result rows

Thomas Richter Von >>
Abgelegt unter >>
Tags >>
  • insgesamt: 916 //   heute: 3 //   zuletzt: 7. January 2009
Gelesen >>
3 Comments, Comment or Ping
  1. SWR

    Na ja, wenn schon die 10 teuersten Produkte, dann solte das so aussehen:
    … ORDER BY UnitPrice DESC;

    So viel Zeit muß sein ;-)

  2. Stimmt, danke für den Hinweis!
    Ab jetzt steht es richtig im Blog.

  3. Hehe betriebsblind würde ich sagen ;)

    - Thomas, ich gratuliere dir zum 100sten Kommentar! Den Preis dafür darfst du bei M&M selber kaufen. ;)

Reply to “SQL Unlimited - aus LIMIT wird TOP”

Suche