Выбор из SQL базы данных записей с последней датой и предпоследней датой

пробую через SELECT

SELECT nmId, MAX(date_c) FROM hour_prices

Но столбец date_c вычисляемый и выдает ошибку.

Будет ли работать MAX(date_c)-1 как предпоследние значения.

Возможно есть более простой способ.


Ответы (1 шт):

Автор решения: Tamada

SELECT * FROM hour_prices WHERE date_c=(SELECT MAX(date_c) FROM hour_prices) - вывод всей информации из строк с самой поздней датой

SELECT * FROM hour_prices WHERE date_c=(SELECT MAX(date_c) FROM hour_prices WHERE BDATE NOT IN (SELECT MAX(date_c) FROM hour_prices)) - вывод всей информации из строк с предпоследней датой

SELECT MAX(date_c) FROM hour_prices - находим позднюю дату

SELECT MAX(date_c) FROM hour_prices WHERE date_c NOT IN (SELECT MAX(date_c) FROM hour_prices) - ищем позднюю дату среди всех дат, за исключением самой поздней - то есть ищем предпоследнюю дату

→ Ссылка