私はいくつかの同様のテーブルを持っています。でそれらを選択する必要があります*
。それぞれの中で最も高い
行のリストを取得したいと思います。revnr
docid
max(revnr)
ここでの問題は、それぞれのローカルを取得する方法がわからないことdocid
です。
私は MySQL を使用していますが、一般的な SQL ソリューションを使用したいと考えています。
ありがとう!
私はいくつかの同様のテーブルを持っています。でそれらを選択する必要があります*
。それぞれの中で最も高い
行のリストを取得したいと思います。revnr
docid
max(revnr)
ここでの問題は、それぞれのローカルを取得する方法がわからないことdocid
です。
私は MySQL を使用していますが、一般的な SQL ソリューションを使用したいと考えています。
ありがとう!
サブクエリでrevnr
for eachの最新の値を取得すると、その結果がテーブル自体に結合されます。docID
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT docID, MAX(revnr) max_val
FROM tableName
GROUP BY docID
) b ON a.docID = b.docID AND
a.revnr = b.max_val
パフォーマンスを向上させるINDEX
には、両方の列docID
にを追加します。revnr
ALTER TABLE tableName ADD INDEX (docID, revnr);