C'è un tavolo Remark
che contiene i dati come illustrato di seguito:Selezionare il record LAST SECOND in ogni gruppo
SerialNo | RemarkNo | Desp
=============================================
10 | 1 | rainy
10 | 2 | sunny
11 | 1 | sunny
11 | 2 | rainy
11 | 3 | cloudy
11 | 4 | sunny
12 | 1 | rainy
Cosa query restituirà il seguente risultato:
10 | 1 | rainy
11 | 3 | cloudy
12 | null | null
Cioè, il secondo l'ultimo record in ogni gruppo dovrebbe essere restituito?
Supponendo che tutti i RemarkNo per un SerialNo siano continui. Più grande è il numero di annotazione, più tardi è stata fatta l'osservazione. Quindi, il penultimo RemarkNo per SerialNo 10 è 1 con Desp 'rainy'.
SELEZIONA r1 * DA osservazione r1 LEFT JOIN osservazione r2 ON (r1.serial_no = r2.serial_no E r1.remark_no
Non dovrebbe restituire '10 | 1 | Sunny'? –
La bandiera dice mysql. –