php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.11.2004, 12:55  
Gast
 
Beiträge: n/a
Standard [Erledigt] gruppieren nach neusten Beiträgen

Hallo,

ich möchte in meinem Forum die Ausgabe der Beiträge so gruppieren, dass ich immer den Beitrag auf den die letzte Antwort eingegangen ist ganz oben stehen habe. Hab es mit folgendem Befehl versucht, bekomme aber nicht alle Einträge mit der höchsten (Autoren-)id eines Themas angezeigt:

Code:
SELECT id, titel, antwortid, autor, MAX( id ) AS max_id
FROM Tabelle
WHERE antwortid !=0
GROUP BY antwortid DESC
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.11.2004, 13:04  
Erfahrener Benutzer
 
Registriert seit: 13.12.2003
Beiträge: 221
Bronks
Standard

Was für ein Feldtyp ist die "autoerenid" und was für Daten stehen da z.B. drin? Zahlen und Text werden anders sortiert!
Bronks ist offline   Mit Zitat antworten
Alt 14.11.2004, 13:30  
Gast
 
Beiträge: n/a
Standard

Die Tabelle sieht wie folgt aus:

Code:
   id  int(11)   No    auto_increment              
   titel  varchar(40)   No                  
   erstellt  varchar(16)   No                  
   text  text   No                  
   antwortid  int(11)   No  0                
   autor  tinytext   No
Mit autorenid hatte ich die id des neusten Datensatzes(Beitrag) aus der Themen-Gruppierung gemeint.
  Mit Zitat antworten
Alt 14.11.2004, 13:40  
Gast
 
Beiträge: n/a
Standard

> ich möchte in meinem Forum die Ausgabe der Beiträge so gruppieren,
> dass ich immer den Beitrag,
> auf den die letzte Antwort eingegangen ist, -------------------> (wie definiert man das ???)
> ganz oben stehen habe.

Wie ich das sehe,
- musst du zu diesem Behufe in deiner DB-Tabelle eine Spalte einfügen,
die den TIMESTAMP der >>> Antwort <<< als 'timestamp_of_answer' registiert.

Dann kannst du folgende Abfrage machen:

"SELECT * FROM table ORDER BY timestamp_of_answer DESC"

mfG -dilemma-
  Mit Zitat antworten
Alt 14.11.2004, 13:44  
Gast
 
Beiträge: n/a
Standard

HÄ????

folgendes ist ganz gewiss KEINE KORREKTE mysql_Syntax:


Die Tabelle sieht wie folgt aus:

Code:

id int(11) No auto_increment
titel varchar(40) No
erstellt varchar(16) No
text text No
antwortid int(11) No 0
autor tinytext No
  Mit Zitat antworten
Alt 14.11.2004, 13:53  
Erfahrener Benutzer
 
Registriert seit: 13.12.2003
Beiträge: 221
Bronks
Standard

@switchy:
Sorry! Hab Deinen SQL etwas schlampig gelesen. Die Gruppierung brauchst Du wegen dem Aggregat. Du mußt noch absteigend nach der antwortid sortieren mit:

Code:
order by antwortid desc
Bronks ist offline   Mit Zitat antworten
Alt 14.11.2004, 14:04  
Gast
 
Beiträge: n/a
Standard

@ Bronks

so habe ich es auch schon probiert. Dann bekomme ich bei 4 gruppierten Datensätzen 2 mit dem Autor des letzten und 2 mit dem Autor des ersten Beitrags ausgegeben.
  Mit Zitat antworten
Alt 14.11.2004, 14:16  
Gast
 
Beiträge: n/a
Standard

GROUP BY ...

Wenn man folgenden Beitrag nicht verstanden hat (,oder nicht verstehen kann )
sollte man von der GROUP BY -Anweisung
tunlichst die Finger weg lassen!

Lies dieses:
16.7. Was ist Aggregation? Was ist GROUP BY?
http://www.php-faq.de/q/q-sql-aggregation.html

mfG -dilemma-
  Mit Zitat antworten
Alt 14.11.2004, 14:16  
Gast
 
Beiträge: n/a
Standard

@dilema

Die Tabelle schaut jetzt wie folgt aus:

id int(11) No auto_increment
titel varchar(40) No
text text No
antwortid int(11) No 0
autor tinytext No
answere_timestamp timestamp(14) Yes NULL

Ist die Syntax nun in Ordnung????
Wenn ich einen Timestamp mit reinbringe muss ich doch auch wieder genauso gruppieren wie bei der abfrage mit id und antwortid, oder?
  Mit Zitat antworten
Alt 14.11.2004, 15:31  
Erfahrener Benutzer
 
Registriert seit: 13.12.2003
Beiträge: 221
Bronks
Standard

Zitat:
... Wenn ich einen Timestamp mit reinbringe muss ich doch auch wieder genauso gruppieren wie bei der abfrage mit id und antwortid, oder?
Nene...! Du bringst da wirklich etwas durcheinander. Ich empfehle erst mal ein gründliches RTFM ...

Was willst Du mit "MAX( id ) AS max_id" überhaupt erreichen? Das ist der einzige Grund warum Du überhaupt Gruppierst. Da kann aber nichts sinvolles rauskommen, wenn jede Antwort ihre eigene Antwortid hat.


Wäre das evtl. die Lösung

Code:
SELECT id, titel, antwortid, autor 
FROM Tabelle 
WHERE antwortid !=0 
order BY antwortid DESC
Bronks ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Erst mischen dann gruppieren? caro Datenbanken 2 11.06.2008 15:47
Werte gruppieren GSJLink Datenbanken 2 22.03.2008 12:35
Einträge gruppieren, aber wie? pcschröda Datenbanken 2 04.10.2007 11:38
Timestamps gruppieren? GSJLink Datenbanken 2 10.03.2007 13:54
nach zeit gruppieren fuzzycontrol Datenbanken 3 25.09.2006 15:10
Userlist Array sortieren und gruppieren (1Dim -> 2Dim) Melchior PHP Tipps 2006 9 03.09.2006 12:56
probleme mit dem gruppieren von datensätzen Schiedsrichter Datenbanken 1 28.07.2006 08:34
Richtig gruppieren Heart Datenbanken 9 04.07.2005 19:40
Ausgabe gruppieren? Heart Datenbanken 7 13.04.2005 17:10
Anfänger Problem 1 - nach berechneter Summe gruppieren Datenbanken 6 12.04.2005 09:55
[Erledigt] Datum nach Monat gruppieren Datenbanken 5 08.04.2005 16:59
Die letzten 20 Reviews mit den neusten Kommentaren ausgeben? Paulo PHP Tipps 2004 3 18.10.2004 17:56
Die neusten Einträge nach dem Datum sortiert anzeigen PHP Tipps 2004 4 18.09.2004 18:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql datum(varchar) nach monat gruppieren, php gruppieren, gruppieren nach neusten datum, html beiträge gruppieren, sql nach spalte gruppieren neuesten

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.