У меня есть некоторые данные, которые выглядят примерно так после запуска нескольких фильтров:
Business Type | Business City | Min Rating | Max Rating
--------------+---------------+------------+-----------
Restaurant | Barcelona | 2 | 8
Restaurant | Barcelona | 1 | 10
Restaurant | Madrid | 4 | 8
Diner | Madrid | 5 | 8
Diner | Madrid | 1 | 8
Diner | Barcelona | 3 | 8
Мне нужно вернуть только одну строку для каждого типа бизнеса и комбинации города.Строка, которую я возвращаю, должна быть той, где минимальные и максимальные оценки наиболее близки к определенным числам.Например, я хочу вернуть ближайший к минимальному рейтингу 3 и максимальному рейтингу 7. Это приведет к:
Business Type | Business City | Min Rating | Max Rating
--------------+---------------+------------+-----------
Restaurant | Barcelona | 2 | 8
Restaurant | Madrid | 4 | 8
Diner | Madrid | 5 | 8
Diner | Barcelona | 3 | 8
Это в приложении Rails 5, использующем ActiveRecord.Я открыт для использования Arel, ActiveRecord DSL или PostgreSQL.