总和2来自行末同一表的计数

总和2来自行末同一表的计数

我正在使用下面的查询来生成下面的表,我想要的是获得最后每一行的总数

SELECT
    FreeText,
    COUNT(case Status WHEN 'BOOKING' then 1 else null end) AS Bookings,
    COUNT(case Status WHEN 'QUOTE' then 1 else null end) AS Quotes
FROM
    orders
JOIN customers ON orders.CustomerNumber = customers.CustomerNumber
WHERE
    OrderDate <= CURDATE()
AND OrderDate > DATE_SUB(CURDATE(), INTERVAL 31 DAY)
AND FreeText IN ('user1','user2','user3')
AND STATUS IN ('BOOKING', 'QUOTE')
GROUP BY
    FreeText


上面产生了这个表:

FreeText | Bookings | Quote
User1    | 23       |11
User2    | 11       |17
User3    | 8        |4


我希望查询产生什么:

FreeText | Bookings | Quote | Total
User1    | 23       |11     |34
User2    | 11       |17     |28
User3    | 8        |4      |12


帮助非常感谢

最佳答案

COUNT(*)添加到查询。

SELECT
    FreeText,
    COUNT(case Status WHEN 'BOOKING' then 1 else null end) AS Bookings,
    COUNT(case Status WHEN 'QUOTE' then 1 else null end) AS Quotes,
    COUNT(*) AS Total
FROM
    orders
JOIN customers ON orders.CustomerNumber = customers.CustomerNumber
WHERE
    OrderDate <= CURDATE()
AND OrderDate > DATE_SUB(CURDATE(), INTERVAL 31 DAY)
AND FreeText IN ('user1','user2','user3')
AND STATUS IN ('BOOKING', 'QUOTE')
GROUP BY
    FreeText

关于mysql - 总和2来自行末同一表的计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44950926/

10-14 19:51
查看更多