您好我在我的项目中使用弹簧数据而我在两个字段中尝试分组,继续请求:
@Query( "SELECT obj from Agence obj GROUP BY obj.secteur.nomSecteur,obj.nomAgence" )
Iterable<Agence> getSecteurAgenceByPc();
但它对我不起作用..我想要的是这个结果:
-Safi
-CTM
CZC1448YZN
2UA13817KT
-Rabat
-CTM
CZC1349G1B
2UA0490SVR
-Agdal
G3M4NOJ
-Essaouira
-CTM
CZC1221B85
-Gare Routiere Municipale
CZC145YL3
我得到的是
{
"status": 0,
"data":
[
{
"secteur": "Safi",
"agence": "CTM"
},
{
"secteur": "Safi",
"agence": "Dep"
},
{
"secteur": "Rabat",
"agence": "Agdal"
},
{
"secteur": "Rabat",
"agence": "CTM"
},
{
"secteur": "Essaouira",
"agence": "CTM"
},
{
"secteur": "Essaouira",
"agence": "Gare Routiere Municipale"
}
]
}
答案 0 :(得分:1)
JPQL无法实现您的目标。
Group By
做什么?
它将group by子句中列中相同的所有行组合到一行中。由于它将多行合并为一行,因此其他列中的数据只能以某种组合方式存在。例如,您可以包含MIN / MAX或AVG值,但不能包含原始值。
结果总是一张桌子,从不是一棵树。
另请注意:没有重复的数据。 secteur 和 agence 的每个组合只出现一次。
如果你想要一个树形结构,你必须为它编写一些java代码。