0

phpを使用してMySQLでクエリを実行します。クエリは以下のとおりです

$sql = "select m.id, s_1.username player_1, s_2.username player_2, current_step, won
from {$table_prefix} match m left join {$table_prefix}session s_1 on s_1.id = player_1
left join {$table_prefix}session s_2 on s_2.id = player_2
where current_step < 10";

クエリの問題はうまく機能しますが、すばやく(連続して)実行する必要がある場合は、行が重複します。行の重複を防ぐにはどうすればよいですか。

ありがとうございました。

4

1 に答える 1

0

一意の戻り行のみを取得するには、DISTINCTを使用する必要があります。

$sql = "select DISTINCT m.id, s_1.username player_1, s_2.username player_2, current_step, won from {$table_prefix}match m left join {$table_prefix}session s_1 on s_1.id = player_1 left join {$table_prefix}session s_2 on s_2.id = player_2 where current_step < 10";

http://dev.mysql.com/doc/refman/5.0/en/distinct-optimization.html

于 2012-07-20T15:23:48.450 に答える