У меня есть таблица, как показано ниже, из которой я хочу получить 2-е из последних на основе mtg_date.
id_pk user_id mtg_date
+------ |------------|--------------------+
| 0 | LastFirst | 2019-01-02 1:00:00 |
| 1 | LastFirst | 2020-01-02 1:00:00 |
| 2 | LastFirst | 2020-01-03 1:00:00 |
| 3 | LastFirst | 2020-01-04 1:00:00 |
| 4 | JonesBob | 2020-02-02 1:00:00 |
| 5 | JonesBob | 2020-03-02 1:00:00 |
| 6 | JonesBob | 2020-04-02 1:00:00 |
| 7 | JonesTom | 2020-07-02 1:00:00 |
| 8 | JonesTom | 2020-07-03 1:00:00 |
| 9 | JonesTom | 2020-09-02 1:00:00 |
+------ |------------|--------------------+
Что я хочу получить:
id_pk user_id mtg_date
+------ |------------|--------------------+
| 2 | LastFirst | 2020-01-03 1:00:00 |
| 5 | JonesBob | 2020-03-02 1:00:00 |
| 8 | JonesTom | 2020-07-03 1:00:00 |
+------ |------------|--------------------+
Записи НЕ отсортировано по user_or или mtg_date, но добавлено, когда запланирована дата следующей встречи.
Я нашел это по другому вопросу, но не совсем понимаю его, и у меня это не работает. Кроме того, я делаю это в Python3 с Sqlite3.
SELECT id_pk, user_id, Meeting_Date
FROM Meetings
WHERE Meeting_Date IN (SELECT Meeting_Date
FROM Meetings AS T2
WHERE T2.id_pk = Meetings.id_pk
ORDER BY Meeting_Date DESC
LIMIT 3 OFFSET 1)
""")