Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何对计数值求和_Sql_Sqlite_Counting - Fatal编程技术网

Sql 如何对计数值求和

Sql 如何对计数值求和,sql,sqlite,counting,Sql,Sqlite,Counting,我是SQLite的新手,所以请原谅我问了一些愚蠢的问题。 从包含飞机数据的表的数据库中,我可以使用现有查询统计制造商数据的记录: SELECT Manufacturer, COUNT(Manufacturer) AS Number FROM aircraft WHERE Manufacturer like 'Airbus%' GROUP BY Manufacturer ORDER BY COUNT(Manufacturer) DESC; 这给了我 Manufacturer Num

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

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()工作。有关计算聚合的问题似乎使用了表中的值。

With
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
请参阅。
或使用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
请参阅。