A puro scopo didattico e per completezza, ti posto la traduzione del tuo script seconde le indicazioni che ti avevo messo all'inizio del thread:
codice:
$query = "SELECT CONCAT(nome,citta,regione,tel) as doppioni, COUNT(*) AS tot
FROM federal_hotel
GROUP BY CONCAT(nome,citta,regione,tel)
ORDER BY tot";
$result = mysql_query($query) OR die(mysql_error());
while($number= mysql_fetch_assoc($result) {
if($row['tot'] > 1) { $limit = $row['tot'] - 1;
$query2="DELETE FROM federal_hotel
WHERE CONCAT(nome,citta,regione,tel) = '$row[doppioni]' LIMIT $limit";
$cancellato=mysql_query($query2) OR die(mysql_error());
echo "
record $row[doppioni] - Cancellati n. $cancellato";
} // while
Con la raccomandazione di fare come detto da Fabio. non vorrei tabelle sulla coscienza.....