“t_example”表:
id | date
---------------
1 | 2001-05-09
1 | 2005-11-05
1 | 2000-08-19
2 | 2010-10-30
2 | 2002-12-10
2 | 2009-07-29
3 | 2003-02-15
3 | 2012-04-20
我想创建一个返回以下结果的视图(每个 id 的最大日期):
id | date_id
---------------
1 | 2005-11-05
2 | 2010-10-30
3 | 2012-04-20
MySQL 不允许在视图中使用 order by 进行子查询,当我对子查询使用其他视图时,group by 会忽略子查询中的 order by。
以下查询返回预期结果:
select id, date
from (select id, date from t_example order by id asc, date_id desc) p
group by p.id
但是当我在视图中使用它时它不起作用:
view1 (subquery) : select id, date from t_example order by id asc, date_id desc;
view2 : select id, date from view1 group by view1.id;
还有其他解决方案吗?