所有 我想显示最后5个特定id的输入数据。 我的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
按日期和时间排序......
答案 0 :(得分:64)
如果你想要最后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
答案 1 :(得分:19)
放置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
答案 2 :(得分: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”)。
答案 3 :(得分:2)
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
试一试。
答案 4 :(得分:1)
如果您的意思是希望先按日期排序,再按名称排序
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
这将首先按日期对记录进行排序,然后按名称
对记录进行排序答案 5 :(得分:0)
以下查询对我有用。 数据库Tabel t_sonde_results具有域d_date(数据类型DATE)和d_time(数据类型TIME) 目的是查询按日期和时间排序的t_sonde_results中的最后一个条目
选择*从
(从*中选择*
(通过d_time asc在d_user_name ='kenis'和d_smartbox_id = 6顺序的情况下,选择* FROM t_sonde_results
按d_date和d_time限制1)作为tmp1排序
答案 6 :(得分:-1)
我使用了一个更简单的解决方案,部分在这里找到:
How to sort details with Date and time in sql server ?
我使用此查询来获取结果:
SELECT TOP (5) * FROM My_Table_Name WHERE id=WhateverValueINeed ORDER BY DateTimeColumnName DESC
这更直接,对我有用。
注意:Date的列有" datetime"输入强>