【问题标题】:ORDER BY with SUM, MIN, MAX, etc using Ebean使用 Ebean 对 SUM、MIN、MAX 等进行排序
【发布时间】:2014-03-04 02:13:26
【问题描述】:

我正在使用带有 Ebean 和 MsSql 的 PlayFramework 2.2.2。

我正在寻找能够按MIN 或MAX 等排序的最简单或最干净的方法。

原始 sql 查询示例可能如下所示:

SELECT id, name, tickets FROM users WHERE tickets != NULL ORDER BY MAX(tickets)

我不知道是不是只有我一个人,但ebean 的文档令人难以置信的混乱。似乎任何时候有人提出一个 9 岁的孩子无法编写的查询,答案是“切换到 RawSQL”。那么,为什么还要麻烦 Ebean 呢?

无论如何,我真的很想看一些按 MIN/MAX 等排序的具体 Ebean 示例。

【问题讨论】:

    标签: java sql playframework playframework-2.2 ebean


    【解决方案1】:

    您真的需要按 min ,max... 排序吗,因为选择列表中有 id。

    让我知道 id 是唯一的还是允许重复的

    如果 id 是唯一的,建议使用以下查询

    select id,name,tickets from users  where tickets is not null order by ticket desc
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题然后我找到了以下信息。

      设计目标:

      此查询语言并非旨在替代 SQL。它旨在以一种简单的方式来描述您希望 Ebean 为您构建的“对象图”。每个查找/获取都代表该“对象图”中的一个节点,这使得为每个节点定义要获取的属性变得容易。

      一旦你达到了这种语言的限制,比如想要聚合函数(sum、average、min 等)或递归查询等,你就可以使用 SQL。 Ebean 的目标是尽可能简单地使用您自己的 SQL 来填充实体 bean。参考 RawSql。

      ->http://www.avaje.org/static/javadoc/pub/com/avaje/ebean/Query.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        • 2017-05-30
        相关资源
        最近更新 更多