protected function count(array &$stack, Statement\Count $statement)
    {
        if ($statement->limit || $statement->offset || $statement->order || $statement->join) {
            self::literal($stack, 'SELECT COUNT(*) FROM (');
            $sub = new Statement\Select($statement->source);