selfhtml.de - Alles für den Webmaster!

 

Anzeige: united-domains - Die ganze Welt der Domains

united domains - jetzt Wunsch-Domain sichern!

Einfache & schnelle Domain-Registrierung zu fairen Preisen ohne Einrichtungsgebühren. Mehr als 250 Domain-Endungen aus einer Hand inklusive E-Mail- & Web-Weiterleitung. Einzigartiges Domain-Portfolio zur bequemen & sicheren Verwaltung Ihrer Domain-Namen.

Jetzt Domain-Check bei united-domains!

Alle Werte aus DB nach 5. Wert auslesen

Autor: FelixF
Datum: 21.09.2011 15:08:39

Hallöchen, ich habe leider gleich noch eine Frage.
Ich gebe bestimmte Werte aus einer Datenbank aus, die ich vorher nach dem Datum sortiere. Ich begrenze diese Werte mit LIMIT. Jetzt möchte ich aber, dass nach dem 20 Eintrag ALLE weiteren weitere angezeigt werden, wie kann ich das machen?
Nach der ID 20 suchen kann ich nicht, da diese nicht durchgehend vergeben werden.

SELECT * FROM abc ORDER BY datum DESC LIMIT ??,??

Kann mir einer von euch vielleicht helfen, ich würde mich freuen.

Danke und liebe Grüße
Felix



Re: Alle Werte aus DB nach 5. Wert auslesen

Autor: reporter
Datum: 21.09.2011 15:43:20

Hallo,

nur so als Idee: kannst du nicht die Datensätze umgekehrt sotieren und dann den Top-Wert mit Count() minus 20 selektieren? Das heißt, das du zwei SQL-Abragen benötigst. Einmal für Count() und einmal mit einer Verschachtelten Anweisung die zunnächst den neuen Top-Wert verwendet und auf dieses Ergebnis die alte Sortierreihenfolge anwendest. Ich denke mit einem View (Sicht) kannst du dies bewerkstelligen.

Ein anderer Weg, ebenfalls mit Verwendung eines Views oder einer temporären Tabelle: schmeiß alle Datensätze dort rein und lösche die Top20.



Re: Alle Werte aus DB nach 5. Wert auslesen

Autor: gaby
Datum: 21.09.2011 16:25:56

> Ich gebe bestimmte Werte aus einer Datenbank aus,
> die ich vorher nach dem Datum sortiere. Ich
> begrenze diese Werte mit LIMIT.
> Jetzt möchte ich
> aber, dass nach dem 20 Eintrag ALLE weiteren
> weitere angezeigt werden, wie kann ich das
> machen?
> Nach der ID 20 suchen kann ich nicht, da diese
> nicht durchgehend vergeben werden.
>
> SELECT * FROM abc ORDER BY datum DESC LIMIT
> ??,??
>

Moin moin ;-)

evtl so?

SELECT * FROM abc ORDER BY datum DESC LIMIT 20, 9999999

Die erste Zahl nach 'LIMIT' sagt, ab dem wievielten Satz die Datensätze angezeigt werden sollen, und für die zweite Zahl setzt du einen Wert, der mindestens so hoch sein muß, wie die Gesamtanzahl der Datensätze in dieser Tabelle.


Grüße
gaby



Re: Alle Werte aus DB nach 5. Wert auslesen

Autor: FelixF
Datum: 21.09.2011 16:39:38

Hallöchen

> evtl so?
>
> SELECT * FROM abc ORDER BY datum DESC LIMIT 20,
> 9999999

Jap, dass wäre eine gute Lösung zu mindestens würde es für meinen Fall reichen. Ansonsten denke ich, dass es dann einfacher wäre, eine temporäre Tab. anzulegen, die ersten 20 Löschen und dann den Rest ausgeben, aber dadurch, dass es nie mehr als 50 sein sollten, sollte deine Lösung ausreichen.

Ich danke vielmals ;)

Liebe Grüße
Felix