10. marts 2003 - 15:54Der er
8 kommentarer og 2 løsninger
MIN() MAX() i forb. med GROUP BY
SELECT count( plads_ordre.id ) as antal, MIN( forestilling.arrangement_id ) as min, MAX( forestilling.arrangement_id ) as max FROM plads_ordre LEFT JOIN forestilling ON forestilling.id = plads_ordre.forestilling_id WHERE plads_ordre.ordre_id = '25384'
Giver mig antal min max 1 7 19
Burde MIN og MAX ikke tage hensyn til min WHERE del? Der virker ikke som at den gør det, idet min og max ikke burde kunne være forskellig når der kun er en række
SELECT plads_ordre.ordre_id, COUNT( * ) as antal, MIN( forestilling.arrangement_id ) as min, MAX( forestilling.arrangement_id ) as max FROM plads_ordre LEFT JOIN forestilling ON forestilling.id = plads_ordre.forestilling_id GROUP BY plads_ordre.ordre_id
Jeg er absolut ikke ekspert i GROUP BY, men synes at kunne huske at man skal bruge HAVING i stedet for WHERE, når kriterierne i WHERE-klausulen skal have indflydelse på grupperingen. Så prøv med HAVING i stedet for WHERE.
Jo mere jeg hører om MySQL, desto mindre kan jeg lide den .
Synes godt om
Ny brugerNybegynder
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.