Предположим, у меня есть List[Map[String, String]]
, который представляет таблицу в базе данных и List[String]
, которая представляет список имен столбцов. Я хотел бы реализовать эквивалент пункта group by
в SQL
запроса:Как реализовать динамическую группу в scala?
def fun(table:List[Map[String, String]], keys:List[String]): List[List[Map[String, String]]
Например:
val table = List(
Map("name"->"jade", "job"->"driver", "sex"->"male"),
Map("name"->"mike", "job"->"police", "sex"->"female"),
Map("name"->"jane", "job"->"clerk", "sex"->"female"),
Map("name"->"smith", "job"->"driver", "sex"->"male")
)
val keys = List("job", "sex")
fun(table,keys)
И тогда должно быть:
List(
List(
Map("name"->"jade", "job"->"driver", "sex"->"male"),
Map("name"->"smith", "job"->"driver", "sex"->"male")
),
List(Map("name"->"mike", "job"->"police", "sex"->"female")),
List(Map("name"->"jane", "job"->"clerk", "sex"->"female"))
)
типы в определении функции не являются реальными типами. Можете ли вы привести несколько примеров, чтобы уточнить? –
удалите опечатку и укажите пример. –
Что вы пробовали? Вы должны действительно работать над тем, чтобы ваши вопросы были яснее и без ошибок. –