如何对 COUNT 个值求和

How to sum COUNT values

我是 SQLite 的新手,所以请原谅我问了一些愚蠢的问题。 从包含飞机数据的 table 的数据库中,我可以使用现有查询计算制造商数据的记录:

SELECT Manufacturer, COUNT(Manufacturer) AS Number
FROM aircraft
WHERE Manufacturer like 'Airbus%'
GROUP BY Manufacturer
ORDER BY COUNT(Manufacturer) DESC;

这给了我

Manufacturer        Number
Airbus              3473
Airbus Military     29
Airbus Helicopters  2

有没有办法在不删除“GROUP BY”子句的情况下在结果中获得计算出的总计 (3504)? 我无法让 SUM() 和 TOTAL() 工作。关于这个计算聚合的问题似乎使用了在 tables.

中找到的值

UNION ALL:

SELECT t.*
FROM (
  SELECT Manufacturer, COUNT(Manufacturer) AS Number
  FROM aircraft
  WHERE Manufacturer like 'Airbus%'
  GROUP BY Manufacturer
  UNION ALL
  SELECT 'Total', COUNT(Manufacturer)
  FROM aircraft
  WHERE Manufacturer like 'Airbus%'
) t
ORDER BY Manufacturer = 'Total', Number DESC

参见demo
或者使用 CTE:

WITH cte AS (
  SELECT Manufacturer, COUNT(Manufacturer) AS Number
  FROM aircraft
  WHERE Manufacturer like 'Airbus%'
  GROUP BY Manufacturer  
)  
SELECT t.*
FROM (
  SELECT * FROM cte
  UNION ALL
  SELECT 'Total', SUM(Number) FROM cte
) t  
ORDER BY MAnufacturer = 'Total', Number DESC

参见demo