2011-11-19 53 views
7

Tôi đang có mối quan hệ @ManyToMany giữa thực thể Câu hỏi và thực thể Danh mục. Tôi muốn đếm số câu hỏi trong mỗi thể loại. Tôi sẽ làm như thế nào?Sử dụng GROUP BY trong JPA

+0

Thành thật mà nói tôi không có ý tưởng bắt đầu từ đâu. Tôi đã bắt đầu với điều này: @NamedQuery (name = "Cateogory.questionDistribution", truy vấn = "SELECT c.description, COUNT (c) TỪ Category c GROUP BY (.... – LuckyLuke

+0

Dường như bạn đã đóng, nhưng phần còn lại truy vấn sẽ giúp xác định rằng nhiều hơn –

+0

Làm thế nào là lấy kiểu cho câu hỏi được xác định trên thực thể thể loại của bạn? – Perception

Trả lời

9
select count(question.id), category.description 
from Category category 
left join category.questions question 
group by category.description 
+1

Tôi có thể hỏi thêm một điều nữa, truy vấn này sẽ trả về cái gì? Các giá trị với? Tôi chưa bao giờ chọn một số thuộc tính trước đây – LuckyLuke

+3

Nó trả về một Danh sách . Mỗi đối tượng [] có hai phần tử: số đếm (dưới dạng một) và mô tả (dưới dạng một chuỗi). .jboss.org/hibernate/core/3.6/reference/en-US/html_single/# queryhql-chọn –

+1

Tuyệt vời, cảm ơn bạn! Tôi đã học được hai điều mới ngay bây giờ :) – LuckyLuke