Mysql
 sql >> база данни >  >> RDS >> Mysql

доктрина - вземете следващия и предишен запис

Отговорът на Александър е близо. Когато правите заявка за id < 2 LIMIT 1 ще върне 1 , но ако подадете заявка за id < 5 LIMIT 1 това също ще върне 1 . Това е така, защото връща 1, 2, 3, 4 и приема първия елемент, който е 1 вместо необходимия 4 .

Просто добавете ORDER BY id DESC за да получите предишния артикул. Това ще върне 4, 3, 2, 1 и LIMIT 1 ще върне 4 , или предишния елемент.

$query = $em->createNativeQuery('SELECT id FROM users WHERE
        id = (SELECT id FROM users WHERE id > 2 LIMIT 1)
        OR
        id = (SELECT id FROM users WHERE id < 2 ORDER BY id DESC LIMIT 1)', $rsm);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранение на пароли за MYSQL в PHP приложение по сигурен начин

  2. Грешка:Попълване:Свойството SelectCommand.Connection не е инициализирано.

  3. PHP формуляр за вход с HTML форма

  4. нужда от актуализация за mysql заявка за избор на период от време за резервация на хотелска стая или каквото и да е нещо

  5. Синтаксис на SQL CREATE DATABASE – Изброен от СУБД