mysql sortieren letzten Datensatz zuerst! ohne ID, Datum, Time

Prato

Neuer Benutzer
Beiträge
2
Hallo

ich habe ein Problem mit einen mySql datensatz bei dem ich mitr trotz intensiver Suche die Zähne ausbeisse.

ich lese eine Tabelle die nur aus 2 Spalten besteht aus................ $query = "SELECT 1, 2 from tabelle

die ich mit Echo ausgebe:

while ($row = mysqli_fetch_assoc($result)) {

$zeilemax = mysqli_num_rows($result);
$z = $zeilemax - 1;

echo("<tr>");

echo("<td>".$row["1"]."</td>");

echo("<td>".$row["2"]."</td>");

}
echo("</table>");



da ja die default Reihenfolge DSC aufsteigend ist wird wird mir der letzte eingetragene Datensatz zuletzt angezeigt.

Ich möchte da der Datensatz sehr gross ist, die neuesten 100 Daten zuerst anzeigen.


order by Datum oder ID Nummer DESC ...... fällt aus weil beides nicht vorhanden.

Gibt es eine Lösung ?


Mit freundlichem Gruss

Prato
 
Werbung:
ohne ORDER BY fällt das mehr oder weniger zufällig raus, es gibt keine DEFAULT ORDER oder sowas.

Code:
test=# create table prato ( a int);
CREATE TABLE
test=*# copy prato from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself, or an EOF signal.
>> 1
>> 2
>> 3
>> 4
>> 5
>> \.
COPY 5
test=*# update prato set a = a where a= 3;
UPDATE 1
test=*# select * from prato ;
 a
---
 1
 2
 4
 5
 3
(5 rows)

test=*#

Auch andere Dinge können für unvorhersehbare Sortierungen sorgen, z.B. synchronize sequential scans oder hash-joins und so weiter ...
 
Gibt es eine Lösung ?

Ich glaube nicht.

In SQL gibt es keine Reihenfolge. Sie entsteht zwangsläufig bzw. zufällig bei der Eingabe. Und genauso zwangsläufig, zufällig geschieht es bei einem Select Statement, der Ausgabe.
Natürlich geschieht nichts, was "absichtlich" vorliegende Daten durcheinander bringt, aber Einfügen, Löschen, physikalische Gegebenheiten, all das führt zu einer nicht vorhandenen, nicht garantierten Reihenfolge bei der Ausgabe. Erst Order By sortiert die Datenausgabe wirklich.

Es gibt RDBMS, die haben interne Spalten, anhand derer man ohne selbst definierte Spalten eine Sortierung durchführen kann. Ob die dann das Alter der Records wirklich abbildet, sei dahin gestellt.

Vielleicht gibt es eine solche Spalte auch in mySQL. Ob sie in dem Fall nützt? Ich weiß beides nicht.

Wenn möglich sollte die Tabelle geändert werden, mittels Ergänzung einer Spalte mit Autoincrement oder DatetimeStamp (wenn die Auflösung reicht).
 
Werbung:
Zurück
Oben