MySQL查询按日期desc排序,忽略其他记录

时间:2015-04-07 01:09:54

标签: mysql date select

我有一个包含以下数据的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 |

我尝试过使用子查询和其他类型的东西。我可以用什么想法?

3 个答案:

答案 0 :(得分:0)

查询:

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

答案 1 :(得分:0)

假设表名是 tableName

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;

答案 2 :(得分:-3)

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

  

SELECT id,house,date FROM house WHERE date&gt; '2015年3月13日'