天天看点

mysql日期最近一条记录_mysql – SQL – 每个日期一条记录

现在我有以下数据:

Name Time

picture 2012-07-23 17:00:00

picture 2012-07-24 18:00:00

picture 2012-07-24 19:00:00

picture 2012-08-03 08:40:06

picture 2012-08-03 08:42:39

picture 2012-08-03 08:54:03

picture 2012-08-03 10:38:58

picture 2012-08-03 10:39:55

picture 2012-08-06 08:12:14

以下SQL查询:

SELECT DATE_FORMAT(DATE(DATE_SUB(time,INTERVAL 4 HOUR)),GET_FORMAT(DATE,'ISO'))

as time, uri, media_id, description

FROM media WHERE place_id = 1

GROUP BY time ORDER BY time DESC

哪个效果很好,并给我我想要的数据.

但是每个唯一日期的数据按每个“日期”的最早日期排序.我希望它按最新订购. Order By语句只是命令整个结果,而不是每天的日期.如果o在使用Group By时可以采用最新的日期而不是最旧的日期,但我猜我必须找出除分组之外的其他内容.

编辑:以下工作.但我想从子查询中返回更多列,我该怎么做?

SELECT Distinct DATE_FORMAT( DATE( DATE_SUB(time, INTERVAL 4 HOUR ) ) ,

GET_FORMAT( DATE, 'ISO' ) ) AS date,

(SELECT type FROM media WHERE

DATE_FORMAT( DATE( DATE_SUB(time, INTERVAL 4 HOUR ) ) ,

GET_FORMAT( DATE,'ISO' ) ) = date Order by time DESC Limit 1) as name

FROM media