Feed Rss



Nov 11 2010

GROUP BY HAVING Statements

category: Datenbanken author:

Um GROUP BY HAVING Statements zu formulieren ist in CakePHP bis Version 1.3 leider noch ein Hack erforderlich (ob HAVING Teil von Version 2 wird weiß ich allerdings nicht). Ein SQL GROUP BY kann einfach durch den Parameter group bei einem beliebigen Query angegeben werden (3.7.3.1 find). HAVING kann dabei wie folgt verwendet werden:

$result = $this->Model->find('all', array(
	'group' => array('Model.parameter HAVING COUNT(*) >= 3'),
	... // weitere Optionen
};

Dieser Aufruf resultiert in folgendem Query:

SELECT `Model`.* FROM `model` AS `Model` GROUP BY `Model`.`parameter` HAVING COUNT(*) >= 3

Leave a Reply