Всем привет. Есть список объявлений. На первых местах находятся самые новые. Как узнать текущую позицию определенной записи?
Например:
1. Объявление 5
2. Объявление 3
3. Объявление 7
И при получении позиции 7-ого объявления вернуть 3.
SELECT COUNT(*) AS row_position
FROM table_name t1
JOIN table_name t2 ON t1.ordering_column >= t2.ordering_column
WHERE t2.identifying_column = 'Объявление 7'
База это не Excel лист. И записи в таблице БД хранятся разбросанные в случайном порядке. Порядок появляется когда мы делаем SELECT c order by. В остальных случаях порядок не гарантирован.