我有一个mysql查询,它返回我的所有数据。我需要总和的总和,但不能使用子选择,因为我实际上在HQL中这样做。
SELECT DISTINCT
COUNT(*) as records,
SUM(_account_orders.calculatedTotal)
FROM
SwAccount as _account
LEFT JOIN
SwOrder as _account_orders ON _account.accountID = _account_orders.accountID
GROUP BY
_account.accountID
HAVING SUM(_account_orders.calculatedTotal) >= 10
结果:
records SUM(_account_orders.calculatedTotal)
---------- ---------------------------------------
1 11
1 150
1 4435.12
3 13463.36
1 19.95
1 1126.12
2 39.98
5 19431.55
1 300
1 2498
1 294.71
1 109.99
1 55
1 458.42
1 200
4 2166.94
我需要这个来返回26的计数而不是当前结果,它给出每行的总和。我需要所有行的总和。一旦我得到了正确的结果,我会把它变成HQL。在这种情况下,HQL不允许使用subselect,因此需要一种方法。使用mssql,您可以使用count(*)OVER()来执行此操作。 Mysql版本会使用sub-select。这可以在HQL中完成吗?