Существует таблица Remark
, которая содержит данные, как показано ниже:Выберите предпоследнюю запись в каждой группе
SerialNo | RemarkNo | Desp
=============================================
10 | 1 | rainy
10 | 2 | sunny
11 | 1 | sunny
11 | 2 | rainy
11 | 3 | cloudy
11 | 4 | sunny
12 | 1 | rainy
Что запрос возвращает следующий результат:
10 | 1 | rainy
11 | 3 | cloudy
12 | null | null
То есть, второй последняя запись в каждой группе должна быть возвращена?
Предполагая, что все Замечание для SerialNo является непрерывным. Чем больше номер замечания, тем позднее было сделано замечание. Следовательно, второе последнее RemarkNo для SerialNo 10 равно 1 с Desp 'rainy'.
ВЫБОР г1 * из замечания r1 LEFT JOIN замечание r2 ON (r1.serial_no = r2.serial_no И r1.remark_no
Не должен ли он возвращаться '10 | 1 | Sunny'? –
Флаг говорит mysql. –