php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.06.2004, 03:54  
Gast
 
Beiträge: n/a
Standard Ein mir rätselhafter Syntax-Error

Folgender Query will nicht, warum?
Code:
SELECT COUNT(Links.catid) AS Anzahl,LinkCats.* GROUP BY LinkCats.id ORDER BY Anzahl ASC
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.06.2004, 06:26  
18inch
Gast
 
Beiträge: n/a
Standard

Wenn du das Ganze nur zählen willst, wieso benutzt du dann noch GROUP BY LinkCats.id ORDER BY Anzahl ASC??
Wenn du COUNT(Links.catid) machst, dann kannst du auch nur ein alias vergeben und nicht zwei. Oder??
Wieso hängst du hier noch ,LinkCats.* dran??
  Mit Zitat antworten
Alt 24.06.2004, 07:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 387
MrNiceGuy befindet sich auf einem aufstrebenden Ast
Standard

Wie soll dieser Query bitte funktionieren, wenn er nicht vollständig ist? Wo ist das "FROM tabellenname"??

Beispiel:

SELECT feld1, feld2, feld3 FROM tabelle WHERE bedingung1 GROUP BY feld1 ORDER BY feld2 DESC
MrNiceGuy ist offline   Mit Zitat antworten
Alt 24.06.2004, 08:02  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ausserdem - neben dem fehlenden FROM-Teil - wenn du Gruppen-Funktionen verwendest, müssen logischerweise alle neben der Funktion ausgegebenen Felder auch in der GROUP BY-Klausel vorhanden sein.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 24.06.2004, 08:34  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 387
MrNiceGuy befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von lazydog
Ausserdem - neben dem fehlenden FROM-Teil - wenn du Gruppen-Funktionen verwendest, müssen logischerweise alle neben der Funktion ausgegebenen Felder auch in der GROUP BY-Klausel vorhanden sein.
Wenn du damit meinst:

Code:
SELECT feld1, feld2, feld3 FROM tabelle GROUP BY feld1, feld2, feld3
dann ist das falsch ^^

Code:
SELECT feld1, feld2, feld3 FROM tabelle GROUP BY feld1
ist auch richtig ^^
MrNiceGuy ist offline   Mit Zitat antworten
Alt 24.06.2004, 09:05  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MrNiceGuy
Wenn du damit meinst:

Code:
SELECT feld1, feld2, feld3 FROM tabelle GROUP BY feld1, feld2, feld3
dann ist das falsch ^^
Code:
SELECT feld1, feld2, feld3 FROM tabelle GROUP BY feld1
ist auch richtig ^^
Wo ist den da die Gruppen-Funktion??
Code:
SELECT count(*), feld1, feld2, feld3 FROM tabelle GROUP BY feld1
funktioniert ganz sicher nicht!
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 24.06.2004, 10:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 387
MrNiceGuy befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von lazydog
Code:
SELECT count(*), feld1, feld2, feld3 FROM tabelle GROUP BY feld1
funktioniert ganz sicher nicht!
Ach nein? Hmm... Komisch, bei mir funktioniert es

MrNiceGuy ist offline   Mit Zitat antworten
Alt 24.06.2004, 10:16  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

OK, da schient MySQL einen Fehler zu haben. Sinn macht diese Ausgabe ja nicht, oder hast du tatsächlich 5 Einträge mit der UID 2?
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 24.06.2004, 14:42  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 387
MrNiceGuy befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von lazydog
OK, da schient MySQL einen Fehler zu haben. Sinn macht diese Ausgabe ja nicht, oder hast du tatsächlich 5 Einträge mit der UID 2?
Nein, schau dir die Abfrage an, das GROUP BY bezieht sich auf die Spalte link_url ^^
MrNiceGuy ist offline   Mit Zitat antworten
Alt 24.06.2004, 15:03  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Eben darum ist die Angabe der UID ein völliger Blödsinn. Welche UID zur den 5 URL's wird denn angezeigt?
__________________
Gruss
L
lazydog 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] "Parse error: syntax error, unexpected T_IF"- Fehler lösen IgelHaut PHP Tipps 2008 15 30.09.2008 10:23
[Erledigt] Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\vrh\ne candys PHP Tipps 2008 22 24.07.2008 23:23
Parse error: syntax error, unexpected T_BOOLEAN_AND Saschilys PHP Tipps 2008 7 22.05.2008 16:14
Spionageversuch? Code-Injection? saibot PHP-Fortgeschrittene 24 06.10.2007 02:07
syntax Error? dh1sbg Datenbanken 4 04.10.2006 14:32
Parse error: syntax error, unexpected T_STRING, expecting... phpfortgeschrittener PHP Tipps 2006 6 04.07.2006 21:57
Parse error: syntax error, unexpected $end in D:\xampp\htdoc PHP Tipps 2005-2 11 11.10.2005 17:05
syntax error? es sind doch nur kommentare function PHP Tipps 2005-2 7 31.08.2005 08:59
xmlrpc-epi kompilieren [gelöst] freq.9 Server, Hosting und Workstations 4 24.07.2005 21:45
Syntax error PHP Tipps 2005-2 6 29.06.2005 20:11
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITE PHP Tipps 2005-2 5 05.06.2005 10:26
#1064 - You have an error in your SQL syntax. Datenbanken 8 27.05.2005 14:13
...error...for the right syntax to use near ')' at line 2 ?? anakadai PHP Tipps 2004-2 7 10.11.2004 15:39
You have an error in your SQL syntax Creativ Datenbanken 1 20.10.2004 16:00
Parse error: syntax error, unexpected T_STRING Datenbanken 9 24.09.2004 11:58


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