2012-11-22 169 views
0

您好我有一个主要的表:mysql:选择最大子值的记录?

PRIMARY KEY(`x`,`y`,`Version`,`Revision`) 

表所示:

`x`,`y,`version`,`revision`,`data` 

xyversionrevision所有从零递增。

我试图找出如何返回每version最高revision及其data,给予specifiy xy。我可以制作哪些索引来加速它?

回答

2

尝试此查询 -

SELECT t1.* FROM table t1 
    JOIN (SELECT Version, MAX(Revision) Revision FROM table GROUP BY Version) t2 
    ON t1.Version = t2.Version AND t1.Revision = t2.Revision 

...加快您可以在版本和修订字段添加索引查询。无论如何 - 你应该使用EXPAIN SELECT...声明来分析它。

+1

我假设你打算为内部声明拥有“按版本分组”。 – Myforwik

+0

......哦,当然,我错过了它。固定。谢谢。 – Devart