Удалить все записи, кроме последней?

У меня две таблицы БД в отношениях один-ко-многим. Данные выглядят следующим образом:

select * from student, application

Resultset:

+-----------+---------------+---------------------+
| StudentID | ApplicationID | ApplicationDateTime |
+-----------+---------------+---------------------+
| 1         | 20001         | 12 April 2011       |
| 1         | 20002         | 15 May 2011         |
| 2         | 20003         | 02 Feb 2011         |
| 2         | 20004         | 13 March 2011       |
| 2         | 20005         | 05 June 2011        |
+-----------+---------------+---------------------+

Я хочу удалить все приложения, кроме последнего. Другими словами, у каждого студента должно быть только одно приложение, связанное с ним. Используя приведенный выше пример, данные должны выглядеть следующим образом:

+-----------+---------------+---------------------+
| StudentID | ApplicationID | ApplicationDateTime |
+-----------+---------------+---------------------+
| 1         | 20002         | 15 May 2011         |
| 2         | 20005         | 05 June 2011        |
+-----------+---------------+---------------------+

Как бы я создал свой оператор DELETE для фильтрации корректных записей?

16
задан a_horse_with_no_name 19 November 2016 в 20:05
поделиться