php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.07.2007, 10:36  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard Aggregatfunktion in WHERE-Clause

Hey Leute

Ich hab ein Problemchen. Hab Google und die Suchfunktion schon belästigt. Allerdings hat das bisweilen noch nichts gebracht...

Habe folgenden Query:
Code:
SELECT PostAuthor FROM forum_posts WHERE MIN(PostID) AND TopicID=1 GROUP BY TopicID
Gab eine Fehlermeldung von wegen "Invalid use of group function". Dann habe ich auf einer Seite gelesen:

Zitat:
Alle ausgegebenen Felder, die nicht in einer Aggregatfunktion stehen, müssen in die WHERE-Clause. Also musst du nach papro_name gruppieren, nicht nach der ID.
Ist jetzt zwar nicht auf meinen Query zugeschnitten, doch dachte ich mir, dass ich halt mein Feld, das ich auslesen will mal ins GROUP BY nehme. Doch das Ergebnis ist das Selbe.

Frage: Ist es überhaupt möglich mit MIN() in der WHERE-Clause zu hantieren oder muss ich da eine andere Methode finden, den kleinsten Datensatz zu ermitteln?

Danke und Gruss
Igäl
Igäl ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.07.2007, 10:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

HAVING ist für das Handling mit Aggregatsfunktionen zuständig. Trotzdem muss, soweit ich mich erinnere, der gruppierte Wert auch selektiert werden.

Allerdings verstehe ich nicht, was MIN(PostID) für eine Bedingung sein soll.

Erledigt das nicht das selbe?
Code:
SELECT postauthor FROM forum_posts WHERE topicid = 1 ORDER BY postid ASC LIMIT 1
Zergling-new ist offline   Mit Zitat antworten
Alt 20.07.2007, 10:47  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Naja die 1 ist aus meinem error-log. Das ist natürlich eine Variable aus dem PHP-Script... Ich will für die Topicübersicht den Author des ersten Postes des betreffenden Topics auslesen.

Allerdings merke ich grad, dass mir MIN(PostID) dann vermutlich immer den kleinsten Wert ausgibt, unabhängig davon, welche topicid gesucht ist...

Eigentlich ist die Meinung, dass der Author des Postes mit der kleinsten PostID der TopicID des aktuellen Topics ausgelesen wird.

Hm... wenn ich das so schreibe blick ich selber grad nicht mehr durch... werd mir mal nen Kaffee holen, ein zwei Wochen durchschlafen und dann unübernächtigt an die Sache rangehen... und mal having angucken

Danke
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl 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
Unknown column in 'where clause' Datenbanken 11 10.07.2011 18:11
Unknown column 'test' in 'where clause' PHP Tipps 2005 4 03.06.2009 14:20
erweiterte abfrage - where DarkManX Datenbanken 2 02.02.2007 17:14
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
Mehrere Werte in WHERE abfrage McNet Datenbanken 6 23.04.2006 02:06
[Erledigt] select where TIME Datenbanken 7 17.02.2006 12:40
where in? bzw. feld auf inhalte überprüfen...? Datenbanken 3 12.02.2006 16:00
[Erledigt] Falsche Ausgabe bei WHERE Clause Datenbanken 8 07.10.2005 10:18
Where geht nicht. Jemand Rat? PsychoEagle Datenbanken 8 16.06.2005 13:27
[Erledigt] WHERE problem Datenbanken 5 12.06.2005 15:54
Befehlsoptimierung faux Datenbanken 4 31.05.2005 19:11
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
Nur bestimmte Felder auslesen (forum_id) Datenbanken 10 22.10.2004 09:19
Problem mit dem WHERE Befehl PHP Tipps 2004 5 08.07.2004 00:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
aggregatfunktion in where, sql aggregatfunktion in where, sql aggregatfunktionen in where, aggregatfunktionen sind nicht in der where-klausel erlaubt, min in where clause, sql aggregatfunktion, aggregatfunktion where, aggregatfunktionen where, sql aggregatfunktion in where clause, aggregatfunktion sind nicht in der where-klausel erlaubt, aggregatfunktion in where clause, aggregatfunktionen where clause, aggregate funktionen sind nicht in der where-klausel erlaubt, select \where min\, aggregatfunktion sql, sql aggregatfunktion in where klausel, sql aggregatfunktionen, aggregatfunktion darf nicht in where klausel stehen, sql aggregatfunktionen gruppierung, sql ergebnis aggregatfunktionen in where

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