Я знаю (из этого: SQL запрос на разбиение на страницы с несколькими столбцами; понять оператор ИЛИ ), что предложение WHERE
в приведенном ниже синтаксисе Postgres
SELECT
"id",
"score"
FROM
"players"
WHERE
"score" > '11266' OR ( "score" = '11266' AND "id" > '4482' )
ORDER BY
"score" ASC,
"id" ASC
LIMIT 3
это длинная форма:
where (score, id) > (11266, 4482)
Но что, если у меня есть запрос ниже?
SELECT
"id",
"score"
FROM
"players"
WHERE
(
( ( "created_at" ) < '2020-02-27 08:57:36.774147+00' ) -- note the "<"
OR ( ( ( "created_at" ) = '2020-02-27 08:57:36.774147+00' ) AND ( ( "score" ) > 11266 ) )
OR ( ( ( "created_at" ) = '2020-02-27 08:57:36.774147+00' ) AND ( ( "score" ) = 11266 ) AND ( ( "id" ) > 4482 ) )
)
ORDER BY
"created_at" DESC,
"score",
"id"
LIMIT 3
Можете ли вы сказать мне, как я могу иметь дело с такого рода запросом в целом?