sql abfrage

Diskutiere sql abfrage im Software Allgemein Forum im Bereich Software Forum; hallo ich möchte aus meiner büchereidatenbank die 10 ätesten leser und 8 ältesten bücher auslesen geht das mit der max funktion oder wie mach...

woisau

Threadstarter
Dabei seit
30.10.2001
Beiträge
282
Alter
46
hallo
ich möchte aus meiner büchereidatenbank die 10 ätesten leser und 8 ältesten bücher auslesen
geht das mit der max funktion oder wie mach ich das am besten

danke
 

Flo

Dabei seit
08.11.2001
Beiträge
757
Alter
38
hallo...

also die Max funktion wäre in deinem beispiel nicht dir richtige lösung.

deine abfrage sollte ungefähr so aussehen.

select * from tabellenname limit x;

wobei du den * durch die attribute ersetzen solltest, die ausgegeben werden sollen und das x durch die anzahl der datensätze die du ausgeben willst also z.b. 10.
was natürlich bei dir sinvoll wäre eine order by anweisung einzubauen um die datensätze nach nem bestimmten kriterium zu sortieren und die desc anweisung um die ältesten rauszufiltern

bsp:

select * from tbl_buch order by date desc limit = 8

der Max befehl allerdings ermittelt dir nur den größten wert in einer Tabellenspalte
 

woisau

Threadstarter
Dabei seit
30.10.2001
Beiträge
282
Alter
46
das funzt nicht
Line 5: Incorrect syntax near 'limit'.


select exemplar.kaufdatum, titel
from buch, exemplar
where exemplar.exemplar_nr = buch.buch_nr and
buch.buch_nr = exemplar.buch_nr
order by date desc limit = 3
 

Flo

Dabei seit
08.11.2001
Beiträge
757
Alter
38
was benützt du denn für ne DB ?? MySQL ?

folgendes och zu Limit:

Der Ausdruck LIMIT kann benutzt werden, um die Zahl der Reihen bei der Ausgabe zu begrenzen. LIMIT braucht zwei Zahlen als Argumente. Die erste Zahl bestimmt den Offset der ersten Reihe, die zweite Zahl die Zahl der Ausgaben. Der Offset beginnt mit 0, nicht wie sonst alles mit 1:


mysql> select * from table LIMIT 5,10; # Zeilen 6-15 ausgeben

Ist nur ein Argument angegeben, wird angenommen, daß die Zahl der Reihen gemeint ist:


mysql> select * from table LIMIT 5; # Gebe die ersten 5 Zeilen aus


Das bedeutet, daß LIMIT n identisch zu LIMIT 0,n ist. Insbesondere für Ausgaben im Browser über das Internet ist es wichtig, daß diese begrenzt werden. Ansonsten muß mit DoS Angriffen (Denial of Service = Außer Gefecht setzen) oder Überlastungen des Server gerechnet werden.

Also bei mir funktioniert der befehl einwandfrei
 

stpe

Dabei seit
14.11.2001
Beiträge
2.729
@woisau: nimm zwischen limit und parameter das gleichheits-zeichen weg. dann müsste es gehen.
 
Thema:

sql abfrage

sql abfrage - Ähnliche Themen

Kommerzielle Nutzung Video Editor 10: Hallo, ich habe hier schon eine ähnliche Frage von 2015 gesehen, aber ich muss ganz sicher gehen. Darf ich den Video Editor 10 auch kommerziell...
Neustarten & Auschalten erst bestätigen...: Ich möchte gerne das wenn man Ausschalten oder Neustarten wählt eine Frage "Wollen Sie wirklich..." und dann 2 Buttons zur auswahl habe. Links...
Win 10 Prof Lizenz auf neuen Laptop übertragen: Hallo, habe mir vor kurzem einen neuen Laptop zugelegt auf dem Win 10 Home installiert ist, möchte nun vom alten Laptop der von Win 8 auf Win 10...
Windows 10 neu installieren nach Upgrade: Hallo zusammen, nach viel Gelese dazu im Internet bin ich verwirrter als vorher und hoffe hier auf ein bisschen Strukturierung. :-) Folgende...
Windows 10 Pro auf Windows 10 Home zurücksetzen: Hallo zusammen, ich möchte meine Win 10 Pro auf einen neuen Rechner übertragen (Key habe ich) und gleichzeitig den alten PC wieder mit Win 10...
Oben