2015-10-06 4 views
0

Я пытался получить вторую последнюю строку данных в mysql. Но мой запрос показывает только последнюю строку.Выберите вторую последнюю строку в Mysql

SELECT news.news_title, news.news_details, news.news_author, news_images.filename 
FROM news JOIN news_images 
ON news.news_title = news_images.news_title 
ORDER BY news_id DESC LIMIT 1 
+1

'LIMIT 1 OFFSET 1', чтобы получить второй последний – lad2025

+1

SELECT * FROM my_table ORDER BY news_id DESC LIMIT 2,1 –

+0

извините, но он по-прежнему получает последнюю строку –

ответ

1

Используйте OFFSET, чтобы получить второе последнее значение, как:

SELECT news.news_title, news.news_details, news.news_author, news_images.filename 
FROM news JOIN news_images 
ON news.news_title = news_images.news_title 
ORDER BY news_id DESC 
LIMIT 1 OFFSET 1; 

LIMIT number_of_rows OFFSET start_from

Если вы хотите 2 последние строки используйте: LIMIT 2.

EDIT: Ваш вопрос очень неясен, но попробовать:

SELECT t.news_title, t.news_details, t.news_author, ni.filename 
FROM (SELECT news_title, news_details, news_author 
     FROM news 
     ORDER BY news_id DESC 
     LIMIT 1 OFFSET 1) AS t 
JOIN news_images ni 
    ON t.news_title = ni.news_title 
+0

@ JoshuaC.Tuonan См. Обновленный ответ – lad2025

0
SELECT news.news_title, news.news_details, news.news_author, news_images.filename 
FROM news JOIN news_images 
ON news.news_title = news_images.news_title 
ORDER BY news_id DESC 
LIMIT 1 OFFSET 1; 

Вы также должны относиться Select the nth Highest Record in a Database Table

Смежные вопросы