J'utilise cette requête JPA:
SELECT DISTINCT e.label, COUNT(e.label) FROM Entity e WHERE TYPE(e.cat) = :category GROUP BY e.label ORDER BY COUNT(e.label) DESC
3 Réponses :
Vous devrez peut-être inclure le compteur (e.label) code> dans votre clause SELECT:
from Named n, Named m where n.name = m.name // HQL only
Cela a fonctionné pour la première requête, mais pas pour une autre requête, qui a un où la clause code>.
Impossible de voir comment la commande pourrait être incorrecte. Quel est le résultat incorrect? P>
Quel est le SQL qui est généré, si vous essayez le même SQL directement sur la base de données, donne-t-il le même ordre incorrect? P>
Quelle base de données utilisez-vous? P>
Vous pouvez toujours trier en Java à la place à l'aide de sorte (). p>
Ne seriez-vous pas inefficace dans Java, car vous devriez avoir toutes les données de la base de données dans la mémoire Java?
Pour une raison quelconque, le style suivant nommé requête n'a pas fonctionné pour moi:
SELECT DISTINCT e.label, COUNT(e.label) FROM Entity e GROUP BY e.label ORDER BY 2 DESC
Êtes-vous sûr que vous pouvez passer le paramètre
: catégorie code> correctement en tant que paramètre? Essayez de mettre le type de classe souhaité directement dans le SQL.
En passant à
: catégorie code> fonctionne bien.