Sql 在Type3 logicalOr数据库查询中确定优先级

Sql 在Type3 logicalOr数据库查询中确定优先级,sql,constraints,typo3,Sql,Constraints,Typo3,我想在TYPO3中创建一个DB查询。我想区分不同的系统语言UID $lanuageUid = $demand->getLanguageUid(); if (isset($lanuageUid)) { $constraints['sys_language_uid'] = $query->logicalOr( [ $query->equals('sys_l

我想在TYPO3中创建一个DB查询。我想区分不同的系统语言UID

        $lanuageUid = $demand->getLanguageUid();
        if (isset($lanuageUid)) {
            $constraints['sys_language_uid'] = $query->logicalOr(
                [
                    $query->equals('sys_language_uid', 0),
                    $query->equals('sys_language_uid', $demand->getLanguageUid()),

                ]
            );
        }
我希望返回使用setLimit()设置的特定数量的记录; 假设最近的语言uid代表西班牙,0代表英语。 我想要回3张唱片,但我只有2张西班牙唱片,所以我想要最后一张英文唱片。
我最近的查询只提供了已排序的记录。但是我可以说我首先想要所有的西班牙语记录,然后,如果它们小于3,我想要剩余的英语记录吗?

我会用$defaultOrderings

$this->setDefaultOrderings([
    'sys_language_uid' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING
]);