我正在使用PlayFramework 2.2.2与Ebean和MsSql。
我正在寻找能够按MIN
或MAX
等排序的最简单或最干净的方法。
示例原始sql查询可能如下所示:
SELECT id, name, tickets FROM users WHERE tickets != NULL ORDER BY MAX(tickets)
我不知道这只是我,但ebean
的文档令人难以置信。似乎每当有人提出一个9岁不能写的查询时,答案是“切换到RawSQL”。那么,为什么还要为Ebean烦恼呢?
无论如何,我真的希望看到一些由MIN / MAX等订购的CONCRETE Ebean示例。
答案 0 :(得分:1)
你真的需要min,max ...的订单,因为选择列表中有id。
让我知道id是唯一的还是允许重复
建议使用以下查询,因为id是唯一的
select id,name,tickets from users where tickets is not null order by ticket desc
答案 1 :(得分:1)
我遇到了同样的问题,然后我找到了以下信息。
设计目标:
此查询语言并非旨在替代SQL。它旨在成为描述您希望Ebean为您构建的“对象图”的简单方法。每个find / fetch表示“Object Graph”中的一个节点,这样可以很容易地为每个节点定义要获取的属性。
一旦达到了这种语言的极限,例如想要聚合函数(求和,平均值,最小值等)或递归查询等,就可以使用SQL。 Ebean的目标是尽可能简单地使用您自己的SQL来填充实体bean。请参阅RawSql。
- > http://www.avaje.org/static/javadoc/pub/com/avaje/ebean/Query.html