Моя структура таблицы выглядит следующим образом:
mid | tid | data
| 1 | 0 | data
| 1 | 1 | data
| 1 | 2 | data
| 1 | 3 | data
| 1 | 4 | data
| 2 | 0 | data
| 2 | 1 | data
| 3 | 0 | data
| 3 | 1 | data
| 3 | 2 | data
| 4 | 0 | data
.
.
.
| N | 0 | data
| N | 1 | data
| N | 2 | data
.
.
| N | K | data
Каждая запись идентифицируется 2 индексами, серединой и тидом.Tid будет уникальным для каждой середины.Для каждой середины прилив начинается с 0 и считается вверх до К. Для данной середины может быть неизбежно много приливов, и может быть бесконечно много середин.
Что я хочу сделать, это выбрать 3 самых последнихMID и соответствующие им последние приливы ГДЕ данные соответствуют некоторым критериям (скажем,> 1).Если бы только MID 1, 2, 3 и 4 соответствовали требованиям к данным, я бы хотел, чтобы они вернулись (пропуская 1, поскольку это не 3 самых последних, а 4-х):
| 2 | 1 | data
| 3 | 2 | data
| 4 | 0 | data
Я потеряно том, как это сделать, любая помощь будет оценена.Двойной заказ по LIMIT 3 вернет
| 3 | 1 | data
| 3 | 2 | data
| 4 | 0 | data