Упорядочить по дате в MySQL и PHP и придать значение сегодняшней дате

0

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

если есть комментарий сегодня, покажите его первым и сделайте заказ с датой для остальных.

Я пытаюсь сделать это, но всегда даю мне ошибку в синтаксисе

SELECT *
FROM comment
ORDER BY IF('DATE_TIME_COMMENT' = CURRENT_DATE())

есть ли какое-нибудь решение?

  • 0
    Вы можете просто сделать: SELECT * FROM comment ORDER BY DATE_TIME_COMMENT DESC . Имеется в виду последний комментарий первым.
  • 0
    @KIKOSoftware KIKOSoftware, но у меня есть проблема, потому что я получаю возможность меньше комментариев и обедаю их в конкретную дату, в этом случае, если я создаю ваш код, он получает комментарии из будущего, а не текущей даты
Показать ещё 2 комментария
Теги:

2 ответа

0
Лучший ответ

Сначала date_time_comment по CASE возвращающему "что-то ниже", если date_time_comment равно current_date() и "что-то более высокое". Затем, во-вторых, date_time_comment по date_time_comment.

SELECT *
       FROM comment
       ORDER BY CASE date_time_comment
                  WHEN current_date()
                    THEN 0
                  ELSE
                    1
                END,
                date_time_comment;

(Возможно, добавьте DESC после date_time_comment в предложение ORDER BY, если вы хотите сначала иметь самые новые комментарии.)

  • 0
    Это отлично работает, спасибо
0

Если у вас нет комментариев с будущей датой, просто закажите по дате

SELECT * FROM comment ORDER BY DATE_TIME_COMMENT DESC

Если у вас может быть будущая дата и вы хотите заказать первую сегодняшнюю дату, то комментарии с другой датой, чем сегодня, один из способов сделать это - с UNION

SELECT * FROM (
    SELECT 1 as order, c.* FROM comment c WHERE DATE_TIME_COMMENT = CURRENT_DATE()
    UNION ALL
    SELECT 2 as order, c.* FROM comment c WHERE DATE_TIME_COMMENT <> CURRENT_DATE()
) order by order asc, DATE_TIME_COMMENT desc

То, что вы получаете первые комментарии сегодня, затем другие комментарии по дате

Ещё вопросы

Сообщество Overcoder
Наверх
Меню