Да, подкинули мне задачку на часик... Проблема MyS

Да, подкинули мне задачку на часик... Проблема MySQL в том, что нельзя выполнить сначала сортировку, а потом группировку. Можно только выполнить группировку, а в ней сортировка уже на воле Ктулху. В итоге приходится лепить подзапрос, в котором сортируешь или выборку максимальных делаешь. А такая задача в одном объекте xPDOQuery нереальна.

Вот подзапросик добавил в процессор:

       // Получаем последние комментарии из этих топиков

        if($this->getProperty('one_comment_per_thread')){ 

            $ids = array();

            

            $sub_query = $this->modx->newQuery($this->classKey); 

            $sub_query->select(array(

                "max(id) as id",

                "thread_id",

            ));

            $sub_query->groupby('thread_id');

            

            $s = $sub_query->prepare();

            $s->execute();

            

            while($row = $s->fetch(PDO::FETCH_ASSOC)){

                $ids[] = $row['id'];

            }

            

            if($ids){

                $query->where(array(

                    "id:in" => $ids,

                ));

            }

        }

Сейчас выборка последних комментов по одному на диалоговую ветку. А вот верстка будет позже подправлена.