MySQL:获取详细页和摘要页中的总计

MySQL:获取详细页和摘要页中的总计,mysql,Mysql,我的数据如下所示: UserID Hours BillRate 1 1.50 2.25 1 2.50 3.25 1 3.50 3.25 2 5.50 4.25 2 6.50 5.25 2 7.50 5.25 在详细信息页面中,我使用此查询来获取每个用户ID的总花费 SELECT UserID, ROUND(SUM(Hours*BillRate), 2) AS TotalSpend FROM mytable GROUP BY Us

我的数据如下所示:

UserID  Hours   BillRate
1   1.50    2.25
1   2.50    3.25
1   3.50    3.25
2   5.50    4.25
2   6.50    5.25
2   7.50    5.25
在详细信息页面中,我使用此查询来获取每个用户ID的总花费

SELECT UserID, ROUND(SUM(Hours*BillRate), 2) AS TotalSpend
FROM mytable
GROUP BY UserID
UserID_1的结果为22.88,UserID_2的结果为96.88(总数119.76

在摘要页面中,我必须使用2条SELECT语句运行一个查询,以获得正确的总数:

SELECT SUM(TotalSpend)
FROM (
    SELECT UserID, ROUND(SUM(Hours*BillRate), 2) AS TotalSpend
    FROM mytable
    WHERE UserID IN (1, 2)
    GROUP BY UserID
) a

无论如何,我是否可以通过一个SELECT语句在摘要页面中获得总计?

juergen:我在将问题发布到这里之前尝试了这个查询。查询给了我错误的结果。。。119.75. 我需要119.76Oops,我发布的带汇总的
答案也有这个问题。舍入舍入值之和会导致错误传播,您确定要这样做吗?Barmar:谢谢您的回答,这额外的一行显示了正确的总数。但我需要一行的结果。我不想修改我的代码太多…实际上,它是四舍五入值的总和。这不是“四舍五入的值之和”…我收回,你是对的。使用ROLLUP也有问题
SELECT ROUND(SUM(Hours*BillRate), 2) AS TotalSpend
FROM mytable
WHERE UserID IN (1, 2)