Если у меня есть таблица с заправочными станциями, в которой указаны город, название и широта + долгота каждой заправочной станции:
city | name | latitude | longitude
---------------------------------------------------------
Berlin | GasPump1 | 52.5 | 13.5
Berlin | GasPump2 | 52.52 | 13.51
Zagreb | INA1 | 45.8 | 16
Zagreb | INA2 | 45.81 | 16.01
Zagreb | INA3 | 45.82 | 15.99
как мне получить одну репрезентативную единицу для каждого города,используя один запрос SQL?То есть, как мне реализовать следующий псевдокод с использованием одного запроса:
representativeStationsArray = []
citiesArray = sqlQuery("SELECT DISTINCT city FROM gasstations")
for city in citiesArray:
representativeStation = sqlQuery(
"SELECT * FROM gasstations WHERE city = ? LIMIT 1;",
city)
representativeStationsArray.append(representativeStation)
Я принял ответ, но подумал, что было бы интересно объяснить мои потребности для будущих читателей..
В iOS, когда пользователь уменьшает масштаб, слишком большое количество аннотаций, отображаемых в виде карты, замедляет работу приложения.Первое экспериментальное решение, которое я пробую (и которое должно подойти для страны, для которой я разрабатываю это), состоит в том, чтобы отфильтровать аннотации по городам и просто отобразить случайную аннотацию для каждого города.
Еслиэто окажется неудовлетворительным, я буду искать другое решение.