Здравствуйте, brank, Вы писали:
L>>Но все это будет жутко медленно. Возможно, следует посмотреть, какие аналитические функции поддерживает ваша база и задействовать их.
B>Торможение для меня пока не важно (сенсоров не оч много), но каким образом сделать шаг 1? Я могу написать "SELECT * FROM scans WHERE sensor_id = 1 LIMIT 2;", но не писать же так для каждого sensor_id (их число заранее неизвестно, они живут в отдельной таблице sensors: sensor_id, name).
Просто нужно переформулировать: нужно вернуть записи, для которых (where) кол-во (count) более поздних (b.time > a.time) для указаного сенсора (b.sensor_id = a.sensor_id) не превосходит 1 (<= 1). Делается это подзапрсами.
Судя по LIMIT у вас — mysql, не уверен, что он поддерживает подзапросы.