按日期倒序MySQL查询订单,忽略其他记录

问题描述:

我有一个MySQL表数据如下:按日期倒序MySQL查询订单,忽略其他记录

| ID | House |   Date  | 
| 1 | A  | 2015-03-13 15:56:59 | 
| 2 | A  | 2015-03-11 12:19:45 | 
| 3 | A  | 2015-03-06 00:00:00 | 
| 4 | B  | 2015-03-13 16:07:21 | 
| 5 | B  | 2015-03-11 13:02:22 | 

我试图得到如下结果:

| ID | House |   Date  | 
| 1 | A  | 2015-03-13 15:56:59 | 
| 4 | B  | 2015-03-13 16:07:21 | 

我已经尝试使用子查询和其他类型的东西。任何我可以使用的想法?

查询:

select h1.id, h1.house, h1.date 
    from house h1 left join house h2 
    on h1.house = h2.house and h1.date < h2.date 
    where h2.date is null 

这查询不进行关于数据的排序假设。

演示:http://sqlfiddle.com/#!9/2da11/1

+0

这解决了我的问题,谢谢你为你的时间。 – Barrios

这可以通过更简单的方式来完成。

SELECT ID,房子,日期从房子里日期> '2015年3月13日'

+0

是的。如果您认为独立住宅不会有多于一次的日期>'2015-03-13'的入口,或者房屋永远不会只有一个入口的日期

假设表名是表名

Select tbl.id, temp.house, 
temp.datecol 
from tableName tbl, 
(
select max(tbl2.datecol), 
tbl2.house 
from tableName tbl2 
group by tbl2.house 
) temp 
where tbl.house=temp.house 
order by temp.datecol asc;