サンプルデータを含む次の表があります。
Record_ID Counter Serial Owner
1 0 AAA Jack
2 1 AAA Kevin
3 0 BBB Jane
4 1 BBB Wendy
上記のようなデータに基づいて、Counter
数値あたりの最大値を持つレコードを取得する MySQL の SQL クエリを作成しようとしていますSerial
。 私が問題を抱えているように見える部分は、更新された最後の 50 個の一意のシリアル番号を取得するためのクエリを取得することです。
以下は、この StackOverflow questionに基づいてこれまでに思いついたクエリです。
SELECT *
FROM `history` his
INNER JOIN(SELECT serial,
Max(counter) AS MaxCount
FROM `tracking`
WHERE serial IN (SELECT serial
FROM `history`)
GROUP BY serial
ORDER BY record_id DESC) q
ON his.serial = q.serial
AND his.counter = q.maxcount
LIMIT 0, 50