mysql:选择具有最大子值的记录?

时间:2012-11-22 05:11:10

标签: mysql database

嗨,我有一张主表:

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

在桌子上:

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

xyversionrevision都从零开始计算。

考虑到revisiondata,我试图弄清楚如何为每个version返回最高x及其y。我可以用什么索引加快速度?

1 个答案:

答案 0 :(得分: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...语句对其进行分析。