2012-11-22 203 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