Auswahl aus einer Tabelle
Auswahl aus einer Tabelle
am 13.12.2006 08:47:44 von Michael Hufschmidt
Liebe Leute,
ich habe eine Tabelle "Texte" mit sehr vielen Records. Mit
SELECT datum, text FROM Texte ORDER BY datum LIMIT 100
bekomme ich die ersten hundert Datensätze aufsteigend sortiert nach datum.
Mit
SELECT datum, text FROM Texte ORDER BY datum DESC LIMIT 100
bekomme ich die letzten hundert Datensätze absteigend sortiert nach datum.
Wie aber bekomme ich die letzten hundert Datensätze aufsteigend (!) sortiert
nach Datum?
O.K. eine Möglichkeit wäre natürlich die Ergebnismenge des zweiten Selects
in eine temporäre Tabelle zu speichern und die dann mit "ORDER BY datum"
auszulesen. Geht's nicht auch einfacher?
mal was zum Knobeln von
Michael
Re: Auswahl aus einer Tabelle
am 13.12.2006 10:02:12 von Helmut Chang
Michael Hufschmidt schrieb:
> ...Mit
> SELECT datum, text FROM Texte ORDER BY datum LIMIT 100
> bekomme ich die ersten hundert Datensätze aufsteigend sortiert nach datum.
> Mit
> SELECT datum, text FROM Texte ORDER BY datum DESC LIMIT 100
> bekomme ich die letzten hundert Datensätze absteigend sortiert nach datum.
>
> Wie aber bekomme ich die letzten hundert Datensätze aufsteigend (!) sortiert
> nach Datum?
Indem du definierst, welches die letzten 100 Datensätze sind und das in
die ORDER BY Klausel aufnimmst. Beispiel nach ID-Spalte:
SELECT datum, text
FROM Texte
ORDER BY DESC,
Datum ASC
LIMIT 100
gruss, heli
Re: Auswahl aus einer Tabelle
am 13.12.2006 10:04:07 von Thomas Rachel
Michael Hufschmidt wrote:
> SELECT datum, text FROM Texte ORDER BY datum DESC LIMIT 100
> bekomme ich die letzten hundert Datensätze absteigend sortiert nach
> datum.
>
> Wie aber bekomme ich die letzten hundert Datensätze aufsteigend (!)
> sortiert nach Datum?
Du verschweigst leider Deine MySQL-Version. Mit hinreichnd neuem MySQL
geht
SELECT * FROM (SELECT datum, text FROM Texte ORDER BY datum DESC LIMIT
100) tmp ORDER BY datum
HTH,
Thomas
--
> Es gibt Perl-Entwickler, die behaupten auch in Perl könne man echtes
> OOP praktizieren.
Und mit einem Kalligraphiepinsel kann man Wände streichen.
(Jan Sauerwein und Hauke Ingmar in de.comp.lang.java)
Re: Auswahl aus einer Tabelle
am 13.12.2006 10:05:33 von BF
Hallo,
probier's mal mit nem Subselect:
SELECT datum, text FROM (
SELECT datum, text FROM texte ORDER BY datum DESC LIMIT 100)
AS texteZwo
ORDER BY datum ASC
hth,
BF
Re: Auswahl aus einer Tabelle
am 13.12.2006 10:23:11 von Surgo
BF schrieb:
> Hallo,
>
> probier's mal mit nem Subselect:
>
Wegen Subselect muss Du allerdings die Version von mySql beachten, IMHO
funktionierte das zumindest bis Version 4.1(??) noch nicht - die finale
Version 4.1 unterstützt die Geschichte dann aber.
Ansonsten kannst Du nach der Sortierung die Werte für Limit ja auch
errechnen - von wegen Anzahl Datensätze in Tabelle, dann hast Du die
Grenzwerte, die Du brauchst.
Gruß
Timo
www.reposhop24.de
Re: Auswahl aus einer Tabelle
am 13.12.2006 10:33:35 von Michael Hufschmidt
Michael Hufschmidt wrote:
> Liebe Leute,
> Wie aber bekomme ich die letzten hundert Datensätze aufsteigend (!)
> sortiert nach Datum?
>
> mal was zum Knobeln von
Danke an BF, Surgo, Thomas. Das mit dem Subselect ist die Lösung! Ich
verwende zur Zeit noch MySQL 4.1.10 und da funktioniert das schon prima.
(Werde demnächst auf 5.x umstiegen).
Ist das nicht eine tolle Newsgroup?
Michael
Re: Auswahl aus einer Tabelle
am 13.12.2006 17:56:51 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)