Groeperen met GROUP BY

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rien van Hulten

Rien van Hulten

05/07/2006 10:46:00
Quote Anchor link
Als je met normaal met GROUP BY wilt sorteren, wordt er gegroepeerd op de opgegeven kolomnaam... Ik heb nu een 'ENUM' kolomnaam met drie verschillende waardes die ik op een zelf opgegeven manier wil groeperen, is dat mogelijk met MySQL?

Ik bedoel zoiets (wat dus niet werkt.):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("SELECT `ip`, `reason`, `level` FROM `rvh_banned` GROUP BY `level` ON('high','medium','low') ORDER BY `id` DESC");
?>
Gewijzigd op 01/01/1970 01:00:00 door Rien van Hulten
 
PHP hulp

PHP hulp

17/11/2024 08:30:49
 
Eris -

Eris -

05/07/2006 10:52:00
Quote Anchor link
Ik zou zeggen probeer het uit... Niets kan er mis gaan...

Maar ik ben bang dat het niet werkt

Het was slimmer of gewoon met ORDER BY level te ASC of DESC te doen...
 
Robert Deiman

Robert Deiman

05/07/2006 10:52:00
Quote Anchor link
Met group by op 'level' pakt die al high bij high, en medium bij medium enzo..
Als je dan ook nog ORDER BY id DESC, doet, moet het al werken!!
 
Rien van Hulten

Rien van Hulten

05/07/2006 10:55:00
Quote Anchor link
@Eris
Ik wil groeperen met devolgende volgorde:
`high`, `medium`, `low`. Want als je normaal groepeert wordt het:
`high`, `low`, `medium` of andersom als je DESC gebruikt.

Dus dat je zoiets krijgt:
ip reason level id
88.123.564.666 bla high 10
77.123.564.666 bla high 8
99.123.564.666 eenreden high 1
66.123.564.666 blabla medium 5
55.123.564.666 nogeenreden medium 4
11.123.564.666 alweereenreden low 9
Gewijzigd op 01/01/1970 01:00:00 door Rien van Hulten
 
Eris -

Eris -

05/07/2006 10:59:00
Quote Anchor link
Maar werkt het ?
 
Rien van Hulten

Rien van Hulten

05/07/2006 11:00:00
Quote Anchor link
Nee.
 
Eris -

Eris -

05/07/2006 11:04:00
Quote Anchor link
Mysql error?
 
Rien van Hulten

Rien van Hulten

05/07/2006 11:42:00
Quote Anchor link
@Eris
Die query is maar een voorbeeld van wat ik bedoel.
Ik wil dus weten of je kan groeperen in mysql met zelf opgegeven waarden
 
Eris -

Eris -

05/07/2006 12:43:00
Quote Anchor link
Ik ben dus bang van niet maar ik weet het niet zeker...
 
Rien van Hulten

Rien van Hulten

05/07/2006 15:02:00
Quote Anchor link
Op sitemasters.be
wist FangorN het wel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT `ip`, `reason`, `level`, IF(`level` = 'high', 1, IF(`level` = 'medium', 2, 3)) AS custom_sort
FROM `rvh_banned`
ORDER BY custom_sort, `id` DESC
 
Frank -

Frank -

05/07/2006 15:29:00
Quote Anchor link
Volkomen offtopic: Gooi s.v.p. die gore backtics nog even uit je query. Het ziet er niet uit, is geen SQL-standaard en gaat vroeg of laat problemen opleveren.

Verder is het handig om je queries over meerdere regels uit te schrijven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT
  ip
FROM
  tabelnaam
WHERE
  naam = 'naam'

Dit maakt het een stuk leesbaarder. Vooral handig bij debuggen en onderhoud.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.