Как выбрать последние 4 данные, которые начинаются со второй последней строки, используя sql - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть таблица с именем posts с тремя столбцами id, details, date, которая содержит следующие данные в порядке возрастания:

+----+----------+-------+
| id | details  | date  |
+----+----------+-------+
|  1 | details1 | date1 |
|  2 | details2 | date2 |
|  3 | details3 | date3 |
|  4 | details4 | date4 |
+----+----------+-------+

Я хочу выбрать данные вв порядке убывания, но я хочу оставить детали первой строки, как я хочу оставить детали идентификатора четвертой строки, details4, date4, но затем я хочу выбрать данные с идентификаторами от 3 до 2, например order by id desc limit 2, но оставить первую строку изпоследний

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018
WITH a AS (
    SELECT 1 i
    UNION ALL
    SELECT 2 i
    UNION ALL 
    SELECT 3 i
    UNION ALL
    SELECT 4 i
)
, b as (
    SELECT TOP 1 i FROM a ORDER BY i DESC
)
SELECT * 
FROM A 
EXCEPT 
SELECT * FROM B
ORDER BY i DESC
0 голосов
/ 29 ноября 2018

Вы можете использовать запрос с ORDER BY DESC LIMIT 1, n

Таким образом, n - это количество строк, которое вы хотите получить, и вы пропускаете первую строкурезультата с помощью LIMIT 1, .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...