Avatar billede leif Seniormester
23. april 2006 - 15:19 Der er 6 kommentarer og
1 løsning

MAX() SQL sætning

Hej,

Har følgende SQL sætning:
$res = mysql_query("SELECT *, MAX(sort) FROM menu WHERE `aktiv` = '1'") or die (mysql_error());

Men så får jeg:
Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause


Hvordan skal jeg ellers bygge sætningen op ? Jeg skal bruge den højeste værdi i kolonnen sort, men jeg vil kun vælge dem med hvor aktiv er lig 1.

På forhånd tak

Fra
Leif
Avatar billede duejensen Nybegynder
23. april 2006 - 15:21 #1
$res = mysql_query("SELECT MAX(sort) FROM menu WHERE `aktiv` = '1'") or die (mysql_error());
Avatar billede leif Seniormester
23. april 2006 - 15:25 #2
Hmm, hvorfor får jeg så ikke en værdi ?

$row = mysql_fetch_array($res);
$newsort = $row[sort] + 1;

Giver 1, den burde have givet 7
Avatar billede duejensen Nybegynder
23. april 2006 - 15:28 #3
Fordi du ikke selected feltet sort.

Tror følgende vil virke:

$newsort = mysql_fetch_result($res) + 1;
Avatar billede duejensen Nybegynder
23. april 2006 - 15:29 #4
Rettelse: der skal stå

$newsort = mysql_result($res,0) + 1;
Avatar billede leif Seniormester
23. april 2006 - 15:31 #5
Smid et svar.
Avatar billede leif Seniormester
23. april 2006 - 15:31 #6
Det virker.
Avatar billede duejensen Nybegynder
23. april 2006 - 15:32 #7
fino
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester