如何编写HQL查询?

时间:2013-07-17 06:51:50

标签: nhibernate hql

我的查询在SQL

Session.CreateQuery("SELECT MAX(T.Maximum) FROM (SELECT COUNT(ID) as 'Maximum' FROM Privilege WHERE IsActive = 1 GROUP BY PrivilegeModuleID ) AS T");

但我不知道HQL(nhibernate)中的语法

如果有人知道请告诉我吗?

2 个答案:

答案 0 :(得分:0)

据我所知,您无法从HQL中的子选择(隐式视图)中进行选择。但在你的情况下,这个子选择并不是真的需要,所以解决方案应该很简单:

select max(count(p.ID)) from Privilege p where p.IsActive = 1 group by p.PrivilegeModule.id

答案 1 :(得分:0)

SELECT COUNT(P.PRIVILEGE_ID)FROM PRIVILEGE P WHERE IS_ACTIVE = 1 GROUP by P.PRIVILEGE_MODULE_ID ORDER BY COUNT(P.PRIVILEGE_ID)DESC