2017-02-24 12 views
0

私はページと呼ばれるテーブルを使ってmysqlデータベースを操作しています。各ページから最新バージョンを引き出す方法はありますか?データベースをクエリして最新のバージョンを表示するのに役立つ必要があります

私は必要なもの
ID  Page Title  Version 
0001 Homepage  1 
0002 Homepage  2 
0003 Homepage  3 
0004 Contact   1 
0005 Contact   2 
0006 Basket   1 
0007 Basket   2 
0008 Basket   3 
0009 Basket   4 

ID  Page Title  Version 
0003 Homepage  3 
0005 Contact   2 
0009 Basket   4 

答えて

1

次のようにあなたは、MAXGROUP BYを使用することができます。

SELECT MAX(ID) 
     ,PageTtile 
     ,MAX(version) 
    FROM Page 
    GROUP BY PageTitle 
0

SELECT * FROM (
SELECT Row_Number() over (partition by Title order by Version DESC) As rn, Page, Title, Version FROM Page) a 
where rn = 1 
を次のようにもROW_NUMBER()を使用することができます
+0

おかげで、すべての非常に有用:) – Punkrock760

0

は、この文字列で検索してください -

SELECT t1.* FROM tbl t1 
JOIN (SELECT PageTitle, MAX(Version) Version FROM tbl GROUP BY PageTitle) t2 
    ON t1.PageTitle = t2.PageTitle AND t1.Version = t2.Version; 

出力:すべてのご提案を

3 Homepage 3 
5 Contact 2 
9 Basket 4 
関連する問題