2014-03-04 70 views
1

我使用PlayFramework 2.2.2與Ebean和MsSql。使用Ebean與SUM,MIN,MAX等進行ORDER BY

我要尋找最簡單的或清潔的方法能夠通過排序MINMAX

樣本原始的SQL查詢可能類似於:

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

我不知道這只是我,但ebean的文檔是令人難以置信的混淆。似乎任何時候任何人都想出了一個不能由9歲的人寫的查詢,答案是「切換到RawSQL」。那麼,爲什麼還要爲Ebean困擾呢?

不管怎樣,我真的想看到訂購一些具體的例子Ebean由MIN/MAX等

回答

1

你真的最小值,最大值需要秩序......因爲在選擇列表中的ID。

讓我知道ID是否是唯一的或允許重複

會建議使用以下查詢櫃面的ID是唯一的

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

我遇到同樣的問題,然後我發現下面的信息。

設計目標:

該查詢語言不是設計爲SQL的替代品。它被設計成一種簡單的方式來描述你想讓Ebean爲你構建的「對象圖」。每個查找/獲取代表該「對象圖」中的一個節點,從而可以輕鬆地爲每個節點定義要獲取的屬性。

一旦你達到這種語言的限制,如想要聚合函數(總和,平均,最小等)或遞歸查詢等你使用SQL。 Ebean的目標是儘可能簡單地使用自己的SQL來填充實體bean。參考RawSql。

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