![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: ZEOS
SELECT *, last(xxxx) ... mit MYSQL
Hallo,
in Access konnte ich folgenden Befehl eingeben
SQL-Code:
In MYSQL 5 funktioniert es nicht. Scheinbar gibt es die Last Funktion nicht. Ist das richtig? Wie erhalte ich nun eine Gruppierte Ausgabe, wo nur der neueste Wert berücksichtigt wird?
SELECT CI, Last(START_DATE) FROM tblSachnummer
GROUP BY CI Gruß Alfonso |
Re: SELECT *, last(xxxx) ... mit MYSQL
|
Re: SELECT *, last(xxxx) ... mit MYSQL
Heißt in MySQL LIMIT
|
Re: SELECT *, last(xxxx) ... mit MYSQL
Hallo,
mit Limit wird er in diesem Fall nicht viel anfangen können. Wahrscheinlich wird ihm die Funktion MAX statt Last weiterhelfen. |
Re: SELECT *, last(xxxx) ... mit MYSQL
Zitat:
MAX ist auf jedenfall war anderes |
Re: SELECT *, last(xxxx) ... mit MYSQL
Das geht ganz einfach
SQL-Code:
SELECT CI, START_DATE FROM tblSachnummer
GROUP BY CI ORDER BY DESC START_DATE LIMIT 5; |
Re: SELECT *, last(xxxx) ... mit MYSQL
Das geht alles leider nicht. :pale:
Beispiel: tblSachnummer enthählt folgende Werte !CI !START_DATE ! !AA !2007-09-24 14:05:02! !AA !2007-09-23 13:05:02! !AA !2007-09-22 13:05:02! !AA !2007-09-21 13:05:02! !AA !2007-09-21 10:07:02! Wenn ich jetzt folgende Abfrage in MySQL5 mache
SQL-Code:
erhalte ich als Ergebnis
SELECT CI, START_DATE FROM tblSachnummer
GROUP BY CI !AA !2007-09-21 10:07:02! ich möchte aber nicht den letzten Wert sondern den ersten wert zurückbekommen !AA !2007-09-24 14:05:02! Wer hat eine Idee? Gruß Alfonso |
Re: SELECT *, last(xxxx) ... mit MYSQL
Hallo Alfonso,
wenn der Datum-String immer unterschiedlich ist, würde ich das so machen, wobei ich das immer mit einem Timestamp mache (ungetestet):
SQL-Code:
Also absteigend sortieren und dann den ersten Datensatz auslesen.
SELECT CI, START_DATE FROM tblSachnummer
GROUP BY CI ORDER BY START_DATE DESC LIMIT 1 Edit: ich sehe gerade, dass es im Prinzip das ist, was franktron auch vorgeschlagen hat. |
Re: SELECT *, last(xxxx) ... mit MYSQL
Das funktioniert nicht. Das "Sort" sortiert das Ergebnis dass die SELECT zurückgibt. Das problem ist, dass das GROUP mir schon den falschen Datensatz liefert, und zwar den letzten und ich brauche den ersten.
Gruß Alfonso |
Re: SELECT *, last(xxxx) ... mit MYSQL
Du kannst auch mal
SQL-Code:
testen. Das klingt zwar wenig sinnvoll, doch um LIMIT nutzen zu können, braucht man einen gruppierten Datensatz. Nach welcher Spalte man gruppiert ist eigentlich egal. Da dein Datum-String immer unterschiedlich ist, werden die Datensätze durch das GROUP BY nicht zusammengefasst und somit sollte der richtige Datensatz zurückgegeben werden.
SELECT CI, START_DATE FROM tblSachnummer
GROUP BY START_DATE ORDER BY START_DATE DESC LIMIT 1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz