No voy a enterder la funcionalidad de tu aplicación solo con esas palabras. Sin embargo, según lo que muestras que es tu tabla, la columna (no fila) id solo tiene valores únicos (1, 2, 3), ¿por qué habría de mostrarte más de uno según mencionas en tu mensaje inicial?. Será que querías referirte a la columna id_city?
Repito: tener más de un valor para la función IN() no tiene sentido. Por la propia naturaleza, y con toda lógica, los "ignora" los duplicados. Solo la nota, que tampoco es que sea un error o problema --para nada--.
Un saludo