嗨,我有一个主要的桌子:

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


在桌子上像:

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


xyversionrevision均从零开始计数。

我试图弄清楚在给定的revisiondata的情况下,如何为每个version返回最高的x及其y。我可以制定哪些索引来加快速度?

最佳答案

试试这个查询-

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...语句对其进行分析。

关于mysql - mysql:选择具有最大子值的记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13506240/

10-12 16:26