Как получить первую строку и последнюю строку, принимая также любую строку, которая идет после количества строк? - PullRequest
0 голосов
/ 18 июня 2020

у меня есть набор данных, и мне нужно взять первую строку, последнюю строку и каждую строку, которая идет после 3 строк,

20 rows

я пробовал

SELECT  v, t
FROM (
        SELECT *,row_number() OVER (ORDER BY t) AS rown
        FROM "table"
    ) AS "skippedResult"
WHERE mod(rown, 3) = 1

, но результат был

enter image description here

, так как убедиться, что вы выбрали первую строку и например, последняя строка и каждая строка после 3 строк, заранее большое спасибо за любую помощь.

1 Ответ

1 голос
/ 18 июня 2020

Вы кажетесь довольно близкими:

SELECT v, t
FROM (SELECT t.*,
             row_number() OVER (ORDER BY t ASC) AS seqnum,
             row_number() OVER (ORDER BY t DESC) AS seqnum_d
      FROM "table" t
     ) "skippedResult"
WHERE mod(seqnum, 3) = 2 OR 1 IN (seqnum, seqnum_d)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...