0

これがシナリオです....

次のMySQLテーブル(フィクスチャと呼ばれる)があります....

ここに画像の説明を入力

2012-06-01 のチーム A の試合が更新され、バージョン 4 が 12:00 のキックオフ時間を持つ最後のエントリであることがわかります。

日付 2012-06-01 のすべてのレコードを選択する SQL が必要ですが、最新バージョンのみを選択するため、次のようになります....

ここに画像の説明を入力

これが私が試したもので、完璧に見えますが、間違ったIDと時間を返します(これが変更されたものです)。以下を参照してください...

 select id, max(version), team, date, time, oppo from fixtures where date = "2012-06-01" group by team

ここに画像の説明を入力

4

3 に答える 3

1
select id,version, team, date, time, oppo 
from fixtures A where id in
(
    select max(id)from fixtures 
    where date = "2012-06-01" 
    group by team
)

仮定:idは主キーです

于 2012-10-05T20:13:32.573 に答える
0

これを試して:

select f.id, a.version, a.team, f.date, f.time, f.oppo from fixtures f inner join
(select max(version) version, team from fixtures where date = "2012-06-01" group by team) a
 on f.version = a.version and f.team = a.team
于 2012-10-05T20:11:30.350 に答える
0
SELECT id
    ,version
    ,team
    ,DATE
    ,TIME
    ,oppo
FROM fixtures
WHERE DATE = "2012-06-01"
    AND id = (
        SELECT max(f2.id)
        FROM fixtures f2
        WHERE f2.DATE = DATE
            AND f2.team = team
        )
于 2012-10-05T20:12:17.097 に答える