@rinaz22

Как узнать позицию записи в базе?

Всем привет. Есть список объявлений. На первых местах находятся самые новые. Как узнать текущую позицию определенной записи?
Например:
1. Объявление 5
2. Объявление 3
3. Объявление 7
И при получении позиции 7-ого объявления вернуть 3.
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ответы на вопрос 4
vabka
@vabka
Токсичный шарпист
Через ORDER BY сортируешь по времени добавления.
Выбираешь номер через ROW_NUMBER()
Ответ написан
Комментировать
@Akina
Сетевой и системный админ, SQL-программист.
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'
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
База это не Excel лист. И записи в таблице БД хранятся разбросанные в случайном порядке. Порядок появляется когда мы делаем SELECT c order by. В остальных случаях порядок не гарантирован.
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Читать каждую запись, увеличивая счётчик $i++.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы