SQL-Abfrage
Kirsten
- php
Huhu Alle,
habe da mal kleines Problemchen.
Ich fummel an einem Forum herum und möchte folgendes ausgeben.
Ich habe eine DB-Tabelle wo z.b. folgendes steht:
id , thread , Name , text , zeit
_________________________________
1 , 1 , Meier, textbla,irgendeine zeit
2 , 2 , Hans , textbla,irgendeine zeit
3 , 3 , Fritz, textbla,irgendeine zeit
4 , 4 , Hans , textbla,irgendeine zeit
5 , 3 , Meier, textbla,irgendeine zeit
6 , 3 , Gerd , textbla,irgendeine zeit
7 , 2 , Opa , textbla,irgendeine zeit
8 , 5 , Oma , textbla,irgendeine zeit
So und nun möchte ich absteigend sortiert nach id die threads auflisten bzw filtern, natürlich nicht doppelt sondern so:
8 , 5 , Oma , textbla,irgendeine zeit
7 , 2 , Opa , textbla,irgendeine zeit
6 , 3 , Gerd , textbla,irgendeine zeit
4 , 4 , Hans , textbla,irgendeine zeit
1 , 1 , Meier, textbla,irgendeine zeit
und das ganze noch mit einer sql-abfrage :-)
hat jemand einen tip für mich? bitte bitte.
danke im vorraus
hi,
Ich habe eine DB-Tabelle wo z.b. folgendes steht:
id , thread , Name , text , zeit
ist das ganze denn in einer Tabelle oder auf mehrere verteilt?
Eine einzige Tabelle ist das
Gruß Kirsten
Eine einzige Tabelle ist das
Gruß Kirsten
müsste doch eigentlich so klappen:
SELECT * FROM "table" ORDER BY id;
oder nicht?
:-) nee leider nicht, da ich dann alle datensätze habe. ich möchte aber nur die unterschiedlichen threads auflisten.
eine abfrage mit DISTINCT bringt nix und eine mit GROUP BY thread hat zwar fast ein Ergebnis allerdings dann sortiert nach thread nicht nach id, da erst nach der Abfrage innerhalb der threads nach id sortiert wird. das gibt nicht das gewünschte ergebnis.
gruß Kirsten
mysql_query("SELECT * FROM table
ORDER BY thread
ASC");
gruss Armin
mysql_query("SELECT * FROM
table
ORDER BYthread
ASC");gruss Armin
Armin, das ergibt nicht das gewünschte Ergebnis. :-)
Gruss Kirsten
okay ich habe gerade die andere antwort gelesen ...
das was du suchst müstes du (keine garantie) mit
GROUP BY spaltenname
hinbekommen
gruss armin
Leider nicht :-(
Select * from tab_forum GROUP BY thread ORDER BY id
z.b.
gibt mir zwar die korrekte liste aus allerdings nicht sortiert nach id. es wird innerhalb der threads nach id sortiert - das ist aber nicht korrekt. ich möchte sozusagen z.b. die letzten 10 verschiedenen threads anzeigen.
gruss Kirsten
Leider nicht :-(
Select * from tab_forum GROUP BY thread ORDER BY id
z.b.
gibt mir zwar die korrekte liste aus allerdings nicht sortiert nach id. es wird innerhalb der threads nach id sortiert - das ist aber nicht korrekt. ich möchte sozusagen z.b. die letzten 10 verschiedenen threads anzeigen.
gruss Kirsten
yo,
So und nun möchte ich absteigend sortiert nach id die threads auflisten bzw filtern, natürlich nicht doppelt sondern so:
deine sortierung geht einfach über ORDERY BY id, threads. dein problem ist aber dein anspruch "nicht doppelt", bzw. was du damit meinst. dies geht unter anderem über unterabfragen, aber nicht jedes dbms und nicht jeder version untersützt das, zumal unterabfragen auch nicht sehr performant sind. sprich mein vorschlag, mach daraus mehrere abfragen.
Ilja