03. december 2005 - 23:01Der er
12 kommentarer og 1 løsning
Hvordan få MIN og MAX værdier mht. en variabel? MIN og MAX ej ok?
Jeg henter nogle data ud fra tabel afsnit: $result = mysql_query( "SELECT f.afsnitId, f.afsSortNr, f.afsTitel, f.afsSammenfatning, DATE_FORMAT(f.relevansDato, '%e.%c.%Y') AS date1, f.afsTekst1, f.billedId, f.figurId, f.afsTekst2, f.afsKonklusion, DATE_FORMAT(f.afsCreated, '%e.%c.%Y') AS date2, DATE_FORMAT(f.afsModified, '%e.%c.%Y') AS date3 FROM afsnit AS f WHERE f.artikelId = '$nyArtikelId' ORDER BY f.afsSortNr ");
Variablen $afsSortNr - sorteringsnr. for afsnit - bruges til at bestemme rækkefølgen for visningen.
Nu har jeg også brug for at få mindste og største nr. ud som en variabel. Men man kan ikke indsætte fx denne er i select'en: MIN(f.afsSortNr) AS min, MAX(f.afsSortNr) AS max Hvorfor ikke? Og hvordan få fat i MIN og MAX værdierne mht. $afsSortNr?
Beklager - den går heller ikke. Skriptet afbrydes, når det kommer til select'en, men der kommer ikke som før en fejlmeddelse (så måske alligevel lidt fremgang!).
jeg har set et par steder, at min og max i hvert fald der kun bruges med group by (og jeg kan ikke gennemskue, om group by vil forstyrre det existerende, arbejder lige nu på en anden vej frem...)
Synes godt om
Slettet bruger
05. december 2005 - 06:32#9
Sagen er at du kun kan bruger min og max (eller andre aggregate funktioner) sammen med group by, hvis du skal have data som ikke "sendes igennem" en aggregate funktioner. Det vil sige hvis alle select indeholder aggregate funktioner behøver man ikke en group by:
Eks,
select min(tal), max(tal) from tabel
er fint nok, men
select navn, min(tal), max(tal) from tabel
kan man ikke unden en group by, så som
select navn, min(tal), max(tal) from tabel group by navn
->arne v: Tak for inf. Det er slet ikke så let at få talt eller få min. eller max. antal. Jeg har brugt din første kommentar/ forslag, men inden i den opr. while - ved ikke, om det kan gøres mere elegant, men det virker...
$result5 = mysql_query( "SELECT MAX(afsSortNr) AS maxNum, MIN(afsSortNr) AS minNum FROM afsnit WHERE $artikelId = '$artikelId' ");
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.