Làm thế nào để dịch:Làm thế nào để làm Nhóm Bởi trong grails để đặt hàng bởi Count (*)
SELECT COUNT(*) AS `count`, `a` FROM `b` GROUP BY `a` ORDER BY `a`
vào grails hoặc truy vấn GORM?
Làm thế nào để dịch:Làm thế nào để làm Nhóm Bởi trong grails để đặt hàng bởi Count (*)
SELECT COUNT(*) AS `count`, `a` FROM `b` GROUP BY `a` ORDER BY `a`
vào grails hoặc truy vấn GORM?
làm việc trong grails 1.2.1
def c = C.createCriteria()
def pl = c.list {
projections {
countDistinct 'id', 'myCount'
groupProperty 'a'
}
order ('myCount', 'desc')
}
câu trả lời là ví dụ
[[10,a3],[2,a1],[1,a2]]
tôi sẽ cố gắng
def c = b.createCriteria()
def results = c {
projections {
groupProperty("a")
rowCount()
}
order("a")
}
Note này chưa được kiểm tra.
Điều này gần như giải quyết vấn đề, nhưng làm thế nào để tôi đặt hàng bằng cách đếm? – skurt
Vì grails 1.2 bạn có thể tạo bí danh và thứ tự của bí danh đã tạo.
Xem https://cvs.codehaus.org/browse/GRAILS-3875 và https://cvs.codehaus.org/browse/GRAILS-3655 để biết thêm chi tiết.
Áp dụng cho mã riêng của bạn, truy vấn HQL sẽ là:
def c = b.createCriteria()
def results = c {
projections {
groupProperty("a")
count("a", 'myCount') //Implicit alias is created here !
}
order 'myCount'
}
Cảm ơn điều này nên làm điều đó, nhưng như Graeme ghi chú điều này được chuyển đến grails 1.3 xem https://cvs.codehaus.org/browse/GRAILS-3875?focusedCommentId=200866&page=com.atlassian.jira.plugin.system.issuetabpanels % 3Acomment-tabpanel # action_200866 – skurt
Bạn chắc chắn đúng! Xem http://www.grails.org/1.3-RC2+Release+Notes và phần và có vẻ như nó không được thực hiện hoặc trong 1.3 (trong khi vấn đề độ phân giải bằng cố định và Graeme là nhận xét rằng mã đã được thay đổi). Vì vậy, tôi nghĩ rằng bạn cần phải thực hiện một thử :-) (Xin vui lòng giữ cho chúng tôi thông báo về kết quả) – fabien7474
đếm ("a", 'myCount') –
làm cách nào để theo thứ tự? Bởi vì không có đổi tên với AS, tôi không thể viết ORDER BY 'count' – skurt