Подтвердить что ты не робот

Сортировка по дате и времени по убыванию?

все        Я хочу отобразить последние 5 введенных данных для определенного идентификатора. Мой запрос sql,

SELECT id, name, form_id, DATE(updated_at) as date
  FROM wp_frm_items
  WHERE user_id = 11 && form_id=9
  ORDER BY updated_at DESC

updated_at - DATETIME

Он отображает последние 5 записей сортировки по дате не по времени. В тот же день он сортируется в алфавитном порядке.

Предположим, что у меня есть 3 записи в тот же день с интервалом времени

скажем

Ajay 1/3/2012 1:15
John 1/3/2012 1:00
Bony 1/3/2012 1:10

после запроса вышеуказанного запроса

что я получил

Ajay 1/3/2012 1:15
Bony 1/3/2012 1:10
John 1/3/2012 1:00

Сортировать по дате, затем по алфавиту

Что я хочу, так это.

John 1/3/2012 1:00
Bony 1/3/2012 1:10
Ajay 1/3/2012 1:15

Отсортировано по дате и времени также...

4b9b3361

Ответ 1

Если вам нужны последние 5 строк, упорядоченные в порядке возрастания, вам нужен подзапрос:

SELECT *
FROM
    ( SELECT id, name, form_id, DATE(updated_at) AS updated_date, updated_at
      FROM wp_frm_items
      WHERE user_id = 11 
        AND form_id=9
      ORDER BY updated_at DESC
      LIMIT 5
    ) AS tmp
ORDER BY updated_at

После прочтения вопроса в 10-й раз это может быть (возможно,), что вы хотите. Сортировать по дате по убыванию, а затем упорядочить по времени (в тот же день) по возрастанию:

SELECT id, name, form_id, DATE(updated_at) AS updated_date
FROM wp_frm_items
WHERE user_id = 11 
  AND form_id=9
ORDER BY DATE(updated_at) DESC
       , updated_at ASC

Ответ 2

установка UNIX_TIMESTAMP сделает трюк.

SELECT id, NAME, form_id, UNIX_TIMESTAMP(updated_at) AS DATE
    FROM wp_frm_items
    WHERE user_id = 11 && form_id=9
    ORDER BY DATE DESC

Ответ 3

SELECT id, name, form_id, DATE(updated_at) as date
FROM wp_frm_items
WHERE user_id = 11 && form_id=9
ORDER BY date ASC

"DESC" означает спуск, но вам нужен восходящий порядок ( "ASC" ).

Ответ 4

SELECT * FROM (
               SELECT id, name, form_id, DATE(updated_at) as date
               FROM wp_frm_items
               WHERE user_id = 11 && form_id=9
               ORDER BY updated_at DESC
             ) AS TEMP
    ORDER BY DATE(updated_at) DESC, name DESC

Попробуй.

Ответ 5

Если вы хотите, чтобы сначала сортировать по дате, а затем по именам

SELECT id, name, form_id, DATE(updated_at) as date
  FROM wp_frm_items
  WHERE user_id = 11 && form_id=9
  ORDER BY updated_at DESC,name ASC

Сначала будут отсортированы записи по дате, а затем по именам

Ответ 6

Это один из самых простых способов сортировки записи по дате:

SELECT  `Article_Id` ,  `Title` ,  `Source_Link` ,  `Content` ,  `Source` , `Reg_Date`, UNIX_TIMESTAMP(  `Reg_Date` ) AS DATE
FROM article
ORDER BY DATE DESC