Sorting by date & time in descending order?
Matthew Barrera
all I want to display last 5 entered data for specific id. My sql query is,
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 DESCupdated_at is DATETIME
It displays last 5 entry sort by date not by time. On same date then it is sorting alphabetically.
Suppose i have 3 entries in same date with diff time
let's say
Ajay 1/3/2012 1:15
John 1/3/2012 1:00
Bony 1/3/2012 1:10after querying the above query
what i got is
Ajay 1/3/2012 1:15
Bony 1/3/2012 1:10
John 1/3/2012 1:00Sort by date then after alphabetically
What i want is this..
John 1/3/2012 1:00
Bony 1/3/2012 1:10
Ajay 1/3/2012 1:15Sorted by date and time also...
58 Answers
If you want the last 5 rows, ordered in ascending order, you need a subquery:
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_atAfter reading the question for 10th time, this may be (just maybe) what you want. Order by Date descending and then order by time (on same date) ascending:
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 4 putting the UNIX_TIMESTAMP will do the trick.
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 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" stands for descending but you need ascending order ("ASC").
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 DESCGive it a try.
3If you mean you want to sort by date first then by names
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 ASCThis will sort the records by date first, then by names
0This is one of the simplest ways to sort record by Date:
SELECT `Article_Id` , `Title` , `Source_Link` , `Content` , `Source` , `Reg_Date`, UNIX_TIMESTAMP( `Reg_Date` ) AS DATE
FROM article
ORDER BY DATE DESC Following Query works for me. Database Tabel t_sonde_results has domain d_date (datatype DATE) and d_time (datatype TIME) The intention is to query for last entry in t_sonde_results sorted by Date and Time
select * from
(select * from
(SELECT * FROM t_sonde_results WHERE d_user_name = 'kenis' and d_smartbox_id = 6 order by d_time asc) AS tmp
order by d_date and d_time limit 1) as tmp1
I used a simpler solution found partly here:
How to sort details with Date and time in sql server ?
I used this query to get my results:
SELECT TOP (5) * FROM My_Table_Name WHERE id=WhateverValueINeed ORDER BY DateTimeColumnName DESC
This is more straight forward and worked for me.
Notice: the column of the Date has the "datetime" type