在 Slick 的一列中查询具有最大值的一行

Query one row with max value in one column in Slick

在我看来这是一个简单的问题,但我仍在努力寻找一个好的解决方案。 我正在使用 Slick 3.0。 我想查询一个table的行,该行在一列中具有最高值。但我不想只有最高值(这很简单),我想要整行。 我尝试了一些事情,比如先查询最大值,然后用这个最大值进行过滤,但没有编译或看起来合适。 我希望有这样的方法:

table.maxBy(_.columnName)

但是我没有找到这样的方法。 那么做这样的事情最喜欢的方式是什么?

方法是使用这个查询:

table.sortBy(_.columnName).take(1).result

不幸的是,它生成的 SQL 没有经过优化(但正确)。 Issue 已报告并已修复,将在 3.1.0 中发布。