次の説明が記載されたゲームテーブルがあります:
リーリーしかし、どの試合も両チームのスケジュールに基づいているため、テーブルのどこかに重複したエントリが存在します。同じ日付、時刻、hometeam_id、awayteam_id、locationcity、locationstate フィールドに基づいてすべての重複を確認(rèn)して削除するために使用できる SQL ステートメントはありますか?
次のようなクエリを試すことができます:
リーリーこれにより、データベース內(nèi)の最小 ID を持つ各ゲーム インスタンスの例が 1 つだけ保持されます。
相関サブクエリを?qū)g行してデータを削除できるはずです。重複する行をすべて検索し、最小の ID を持つ行を除くすべてを削除します。 MYSQL の場合、次のように內(nèi)部結(jié)合 (EXISTS の機(jī)能と同等) を使用する必要があります。 リーリー
テストするには、ゲームからゲームを削除を
ゲームから選択* に置き換えます。単にデータベースに対して削除を?qū)g行しないでください:-)