首頁 >資料庫 >mysql教程 >如何在 SQL Server 中計算跨列的表行摘要?

如何在 SQL Server 中計算跨列的表行摘要?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-04 01:12:39291瀏覽

How Can I Calculate a Table Row Summary Across Columns in SQL Server?

跨列計算表行摘要

現代資料分析通常需要建立在最後一行包含摘要統計資料的表格。考慮一個表格,其中的行顯示各種類別及其各自的「總銷售額」。您可能想要新增一個額外的行來計算所有類別的總銷售額。

雖然非正統,但以下是在SQL Server 2008 或更高版本中實現此目的的方法:

SELECT
  Type = ISNULL(Type, 'Total'),
  TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;

這假設類型列沒有空值,匯總行(總計)由總計值表示。但是,如果存在空值,則使用GROUPING() 函數的更準確表示是:

SELECT
  Type = CASE GROUPING(Type) WHEN 1 THEN 'Total' ELSE Type END,
  TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;

利用此方法,您可以有效地將匯總行添加到表中,從而提供一種快速有效的方法計算跨列總計。

以上是如何在 SQL Server 中計算跨列的表行摘要?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn