php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.08.2004, 18:08  
Benutzer
 
Registriert seit: 13.08.2003
Beiträge: 46
unknownsoul
Standard DISTINCT oder ORDER BY

hallo,

folgendes Problem

ich habe eine forum_posts-tabelle die stark vereinfacht so aussieht:

thread_id | usr | time

sende ich diese abfrage: SELECT thread_id FROM forum_posts WHERE usr='1' ORDER by time DESC;

erhalte ich folgende ausgabe (sinngemäß):

thread_id | usr | time |
===================
5 | 1 | 1291283901
3 | 1 | 1291283901
2 | 1 | 1291283901
2 | 1 | 1291283901
5 | 1 | 1291283901
1 | 1 | 1291234501
4 | 1 | 1291283901
5 | 1 | 1294528301
5 | 1 | 1291283901

so ich habe dann aber die thread_id mit dem wert 5 z.b. mehrfach, es soll aber nur jede thread_id max 1x als erg. ausgegeben werden

nun mit SELECT DISTINCT thread_id.... hab ich schon probiert, da werden die ergebnisse nicht sortiert (ORDER BY time)

kann ich das problem auch mit GROUP BY lösen, allerdings hab ich da auch keine idee wie dort sortiert wird

mysql scheint bei DISTINCT und GROUP BY den ORDER BY-ausdruck zu ignorieren..

in mysql-docu hab ich auch nix gefunden

danke schonmal im vorraus...
unknownsoul ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.08.2004, 18:57  
Gast
 
Beiträge: n/a
Standard

Kann ich grad nichtnachvollziehen, hab ein ähnliches Beispiel mit SELECT DISTINCT und ORDER BY getestet und es funzt tadellos.

Code:
SELECT DISTINCT bestell_id
FROM bestellpositionen
ORDER BY bestell_id DESC
Oder mit zwei unterschiedlichen Spalten:
Code:
SELECT DISTINCT bestell_id, preis
FROM bestellpositionen
ORDER BY preis DESC
Also es muß eigentlich funktionieren.
  Mit Zitat antworten
Alt 19.08.2004, 09:48  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

ORDER BY und GROUP BY funktionieren sehr wohl mit DISTINCT. Dein Problem ist ganz ein anderes: http://www.phpfriend.de/ftopic21065-24.html, diesmal für "time" statt "group"
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 19.08.2004, 13:30  
Benutzer
 
Registriert seit: 13.08.2003
Beiträge: 46
unknownsoul
Standard

hab es hinbekommen und zwar so:

Code:
SELECT DISTINCT thread_id,MAX(time) AS max_time FROM forum_posts WHERE usr='1' GROUP BY thread_id ORDER by max_time DESC;
der fehler war das es nicht nach der maximalen (neuesten Zeit) sortiert hatte, aber jetzt gehts, danke an alle
unknownsoul ist offline   Mit Zitat antworten
Alt 19.08.2004, 13:40  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Das ändert nichts daran, dass time ein reserviertes Wort ist und auf keinen Fall als Attributname verwendet werden sollte. Ein GROUP BY auf jede Zeile (id ist ja der PRIMARY KEY) macht ja mal wirklich keinen Sinn, nur um einen nicht erlaubten Attributnamen doch noch irgendwie benutzen zu können.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 20.08.2004, 12:12  
Benutzer
 
Registriert seit: 13.08.2003
Beiträge: 46
unknownsoul
Standard

ähm ja die thread_id ist aber nicht der primarykey der forum_posts-tabelle, sondern ein verweis (Fremdschlüssel) zur forum_threads-tabelle und kann daher mehrfach vorkommen...

ja und time heißt das bei mir nicht, sondern f_time usw...
ich hab das nur hier zur schnelleren antwort stark vereinfacht dargestellt und nicht dran gedacht, daß es ein reserviertes wort ist

trotzdem nochmal danke für den hinweis
unknownsoul 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
Abfrage mit count, order by, group by...und Probleme BartTheDevil89 Datenbanken 2 15.06.2008 13:34
ORDER BY im Subquery cycap Datenbanken 12 31.10.2007 20:31
Abfrage = "SELECT * FROM links ORDER BY id" Taktaky PHP Tipps 2008 2 22.08.2007 14:37
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
DISTINCT!!! kickz Datenbanken 33 24.02.2006 00:51
problem bei distinct datenbankabfrage... Promaetheus Datenbanken 2 25.01.2006 17:28
[Erledigt] Order by Ausnahme Datenbanken 2 13.01.2006 13:31
Mehr als ein Feld mit Distinct in einem Query auslesen ?? Bouni PHP-Fortgeschrittene 9 19.12.2005 12:43
order by erweiterung . frage zum verst�ndnis... Promaetheus Datenbanken 5 07.12.2005 14:26
[Erledigt] COUNT und DISTINCT: Spalteneinträge ausgeben Datenbanken 15 19.09.2005 20:11
suchanfrage mit join und distinct Crypi Datenbanken 5 26.08.2005 10:11
SELECT tbl.col AS a ORDER BY tbl.a versionsabhängig? axo Datenbanken 3 15.04.2005 15:50
Syntaxfehler, wohin kommt ORDER BY PHP Tipps 2005 7 12.02.2005 13:21
Distinct ? PHP-Fortgeschrittene 17 12.12.2004 12:43
Order by .. PHP Tipps 2004-2 2 11.11.2004 13:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
select distinct order by, mysql distinct, distinct order by, php mysql distinct, distinct, select distinct beispiel, datenbanken distinct, order by distinct, distinct und order by, mysql select distinct, select distinct beispiele, mysql distinct beispiel, select distinct und order by, http://www.php.de/datenbanken/7235-distinct-oder-order.html, mysql select distinct group by, distinct mysql, distinct und order by problem, distinct mysql beispiel, distinct beispiel, php distinct

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:46 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.