JPA查詢返回子句

當使用JPA的查詢語句進行查詢時:
Select 子句允許列表與聚合函數同時使用,比如:
Select DISTINCT bpp.name, COUNT(app) From Bpp bpp, IN(bpp.apps) app GROUP BY bpp.name HAVING COUNT(app) >= 10
但有限制,被聚合的內容一定是與其他查詢的內容是並列關係的,比如上例中:
bpp.name是Bpp實體的屬性,並且 apps 一定也是Bpp實體的屬性之一(實體關聯的集合屬性)。
經過聚合函數,一定能夠計算出一個數值來,這個數值將被看作是與bpp.name 內容並列的。
另外,必須加入GROUP BY子句,用於說明根據實體那個字段進行分組聚合,這樣有些聚合就不再進行,這個字段通常都是返回的列表結果字段之一;等同於,先進行查詢實體的列表,然後從得到的列表中提取需要返回的字段,在提取同時計算需要聚和的屬性(比如實體某集合的總尺寸)
HAVING子句對聚合進一步限制:
Select ... [GROUP BY ... [HAVING ...]] 這三個是配合來使用的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章