Você pode usar campos virtuais
$this->ChatCategoryImage->virtualFields = array('Frequency' => 'hits/(DATEDIFF(NOW(),created))');
mudando a forma de ordem
$order = array('Frequency' => 'desc');
$this->ChatCategoryImage->virtualFields = array('Frequency' => 'hits/(DATEDIFF(NOW(),created))');
$order = array('Frequency' => 'desc');
Instrução SQL DROP TABLE e vários casos de uso
Como usar a instrução Case para formatação condicional na consulta de seleção - Tutorial SQL Server / TSQL Parte 116
Como limitar linhas em um conjunto de resultados do SQL Server
Sistema de gerenciamento de banco de dados de grande porte:design e arquiteto