我如何在Slick + Scala中执行以下SQL查询,您可以帮我吗?
SELECT MAX(ID) AS ID, MAX(CREATED_AT) AS CREATED_AT, NAME, EMAIL
FROM USERS
GROUP BY EMAIL
谢谢!
正如@Duelist所说的,他的查询在groupBy中丢失name ...从那里开始,Slick中的查询将像这样:
Users.groupBy(u => (u.name, u.email))
.map { case ((name, email), group) => (group.map(_.id).max, group.map(_.createAt).max, name, email) }
.result
您可以在此处找到有关转换groupBy和其他代码的更好解释:GROUPBY
Disclaimer:我假设您在3的更高版本中使用Slick。>