Ошибка Groupping Error при использовании ORDER BY без GROUP BY

Выполняется простой запрос

SELECT "Table".* FROM "Table" WHERE "Table"."Field" = ? ORDER BY "Caption" LIMIT 100

с параметром

params :["12347063-dea3-4f16-9260-ea38112347d5"]

Что влечет к исключению

Grouping error: 7 ОШИБКА:  столбец "Table.Caption" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции

Не понимаю при чем тут Groupping error, но в HeidiSql этот запрос выполняется без ошибок. Также запрос выполняется, если убрать ORDER BY.

Я пользуюсь пакетом fluentpdo, но исключение возникает в классе PDOStatement (точнее в классе, который я от него наследовал)

<?php namespace name\space\pdo;

class LogPdoStatement extends \PDOStatement
{
    protected $connection;

    protected function __construct($connection)
    {
        $this->connection = $connection;
    }

    public function execute($params = null)
    {
        $start = microtime(true);
        $result = parent::execute($params); // тут исключение
        $time = microtime(true) - $start;
        $this->connection->addLog([
            'query' => $this->queryString,
            'params' => $params,
            'time' => round($time * 1000, 3),
        ]);
        return $result;
    }
}

Лог сервера с этим запросом:

2020-12-10 08:08:58.195 GMT [10896] ОШИБКА:  столбец "Table.Caption" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции (символ 109)
2020-12-10 08:08:58.195 GMT [10896] ОПЕРАТОР:  SELECT COUNT(*) as "count" FROM "Table" WHERE "Table"."Field" = $1 ORDER BY "Caption"

Ответы (1 шт):

Автор решения: Skywave

Согласно логам сервера дело было в другом запросе с функцией COUNT, видимо в запросе с COUNT всегда должна идти конструкция GROUP BY, если идет сортировка

→ Ссылка