Fehler bei MySQL Statement (SELECT)

C

chofer02

Hi,

hab hier schwierigkeiten mit einem SELECT Befehl:
Code:
SELECT min(Id), Beschreibung, Pfad FROM gal WHERE Id > '20';
also... mit diesem Statement will ich genau 1 Result haben:

Die kleinste "Id" die größer ist als "20".

Kann mir hier jemand helfen

Mfg
Chris
 
Und? Funktioniert es nicht oder wieso erbittest du Hilfe? Rein syntaktisch kann ich keinen Fehler feststellen.
 
Für mich sieht es auch korrekt aus. Wie sehen denn deine Daten in der Tabelle 'gal' aus und was bekommst du als Ergebnis der Abfrage? Was genau ist die "Schwierigkeit"?
 
Zuletzt bearbeitet:
also die Fehlermeldung sieht folgender maßen aus:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/.sites/107/site122/web/html/gallery_popup.php on line 11

und hier ein snapshot der tabelle:
###########################################
Id # Beschreibung # Gallery # Pfad
19 # test19 # 1 # ...
20 # test20 # 1 # ...
21 # test21 # 2 # ...
 
hab hier noch die fehlermeldung vom phpmyadmin:

Fehler

SQL-Befehl:
SELECT min( Id ) , Beschreibung, Pfad
FROM gal
WHERE Id > '20';


MySQL meldet:
#1140 - Das Vermischen von GROUP-Spalten (MIN(),MAX(),COUNT()...) mit Nicht-GROUP-Spalten ist nicht zulässig, wenn keine GROUP BY-Klausel vorhanden ist
 
falls jemand noch ne andere idee hat, bitte posten:

werde es jetzt mit 2 querys lösen...
1. abfrage der nächst höheren Id,
2. abfragen der restl. daten zu dieser Id;

Danke!
Chris
 
chofer02 hat gesagt.:
MySQL meldet:
#1140 - Das Vermischen von GROUP-Spalten (MIN(),MAX(),COUNT()...) mit Nicht-GROUP-Spalten ist nicht zulässig, wenn keine GROUP BY-Klausel vorhanden ist

Es geht doch nix über sprechende Fehlermeldungen. ;-) Füg mal eine GROUP BY Klausel ein.

Code:
SELECT min(Id) AS myMin, Beschreibung, Pfad FROM gal WHERE Id > '20' GROUP BY myMin;
 
komisch... wenn ich das ganze jetzt versuch auszugeben erhalte ich keinen wert... mach ich die abfrage jedoch über phpmyadmin bekomm ich das gewünschte ergebnis... :confused:
PHP:
$sql = "SELECT MIN(Id) FROM gal WHERE Gallery = '20' AND Id > '318'";
$result = mysql_query($sql);
$result = mysql_fetch_array($result);
echo($result['Id']);
 
Kann auch nicht gehen. Es existiert mit dieser Abfrage kein Index "id" in $result. Vorschlag:
Code:
$sql = "SELECT MIN(Id) AS ergebnis FROM gal WHERE Gallery = '20' AND Id > '318'";
$result = mysql_query($sql);
$result = mysql_fetch_array($result);
echo($result['ergebnis']);
 
Zurück