Как отсортировать данные в зависимости от того, в какой день они были опубликованы?

0

Как вы сортируете данные, хранящиеся в базе данных mysql, в зависимости от дней недели, в которые были отправлены данные?

Я в основном хочу создать дневник, который выводит информацию в каждый день недели в зависимости от того, в какой день она была отправлена ​​по датам, поэтому

Пн - данные в порядке дат Tue - Wed - e.t.c

Любые примеры кода и информация будут отличными, спасибо.

  • 0
    вам нужно выбрать ответ.
Теги:

7 ответов

1

Вы можете сделать

SELECT DAYOFWEEK (datehere) как dayofweek, datehere FROM FROM ORDER BY dayofweek, datehere;

0

Если ваши данные хранятся как поле DATE или DATETIME, используйте функции DAYOFWEEK или DATE_FORMAT, чтобы превратить их в имя дня для вывода, но продолжайте упорядочиваться по полю DATE

SELECT DATE_FORMAT (my_date_column, '% W') AS dayofweek FROM my_table ORDER BY my_date_column

0

Ну, сортировка бит проста, просто сортируйте по столбцу, который представляет дату публикации. Группировка в днях - это то, что вы можете сделать в своем коде, так как вам все равно нужно проверить дату (для последующей обработки фактического вывода).

Чтобы сказать так, вы можете сделать подзаголовок, чтобы получить конкретный день недели, но в вашем коде вам придется снова проверять день, чтобы группировать сообщения в день. В этом случае это лучше (и более чистым, поскольку вы отделяете бизнес-логику от данных), чтобы сделать это в своем коде, что-то вроде этого:

  • выберите все сообщения (в диапазоне дат)
  • создать ассоциативный массив, дней в виде ключей и сообщений (в новых массивы) в качестве значений
  • проведите через дней, а затем сообщения для вывода сообщений в день
0

Что такое тип данных - это столбец, в котором хранится отправка даты?

  • 0
    данные отформатированы по дате (), например, 2010-09-26
  • 0
    Хорошо, если это столбец типа даты, что мешает вам использовать оператор выбора, используя порядок по этому столбцу?
0

Вы можете использовать функцию DAYOFWEEK для извлечения дня, а затем сортировать ее точно так же, как и любые другие данные.

0
SELECT *
FROM diary_entries
ORDER BY FIELD(DAYOFWEEK(created), '2, 3, 4, 5, 6, 7, 1'), created

DAYOFWEEK захватывает день недели (1 = воскресенье).

FIELD делает понедельник в первый день недели.

После сортировки по дням недели сортировка по дате создана.

0

Кажется, вы просите базовую инструкцию SELECT?

SELECT some_column, another_colum FROM your_table ORDER BY your_date_column DESC

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

Если этот ответ непростенько упрощен, пожалуйста, простите меня... и дайте нам более подробную информацию:)

С уважением.

Ещё вопросы

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