2017-03-08 55 views
-2

我有下面的表格,我想要得到3个人ID与最新的条目。选择截然不同的顺序

id |  date 
70 | 06.03.2017 10:55 
71 | 07.03.2017 23:23 
72 | 07.03.2017 23:30 
72 | 07.03.2017 23:30 
72 | 07.03.2017 23:30 
73 | 07.03.2017 23:49 
73 | 07.03.2017 23:51 
70 | 08.03.2017 00:00 
74 | 08.03.2017 00:05 
70 | 08.03.2017 00:06 
18 | 08.03.2017 00:08 (wanted) 
70 | 08.03.2017 00:11 (wanted) 
74 | 08.03.2017 00:15 (wanted) 

我尝试了几个选项(子查询,分组,按顺序),但没有一个工作。

我想最近的一次:

$preview_create = 'select id ' 
       . 'from (' 
       . 'select id from table ' 
       . 'order by date desc' 
       . ') as sub ' 
       . 'group by id ' 
       . 'limit 3'; 

它没有工作了,所以我没有别的想法做什么。

在此先感谢!

回答

0

首先,获取每个ID的最后日期,换句话说,按ID:由date通过上面的查询获取

select id, max(`date`) as `date` 
from yourtable 
group by id 

其次,秩序,它意味着:

select id 
from (
    select id, max(`date`) as `date` 
    from yourtable 
    group by id 
) t 
order by `date` desc 
limit 3 

见在sqlfiddle中的demo

+0

非常感谢! – sebjel