Выборка соседних записей с условием

189
19 ноября 2018, 17:30

Выводя запись на сайт, требуется выводить соседние записи этой же категории. Похожего на виджета "Похожие новости". (В моем случаи "Новости этой же категории")

Выбрать три новые записи отталкиваясь от главной записи, и две записи "старее" главной записи, но, если новых записей мало, тогда брать больше старых записей, и наоборот. В итоге получится 5 соседних записей.

Answer 1

Типа так:

SELECT xx.*
FROM (    (    SELECT *, (@row:=@row+1) rn
               FROM table, (SELECT @row:=0) x
               WHERE table.date < @date
               ORDER BY table.date DESC
           )
           UNION ALL
           (   SELECT *, (@row:=@row+1) rn
               FROM table, (SELECT @row:=0) x
               WHERE table.date > @date
               ORDER BY table.date ASC
           )
           UNION ALL
           (   SELECT *, 0 rn
               FROM table
               WHERE table.date = @date
           )
     ) xx
ORDER BY xx.rn ASC
LIMIT 5

@date - нужная дата "базовой" записи.

READ ALSO
JSON_REMOVE MYSQL имена с тире

JSON_REMOVE MYSQL имена с тире

В колонке uuid_session хранится json

189
Пустое место в конце сайта

Пустое место в конце сайта

Когда делал сайт и использовал свойства margin, то увидел, как в конце сайта появляется просто пустое местоДа и не такое маленькое это пустое...

330
Почему строка не сохраняет значение?

Почему строка не сохраняет значение?

Пытаюсь сделать свое поле набора номера телефонаВроде, все правильно, но когда я манипулирую со строкой

193