1. 程式人生 > 其它 >Excel 2010 SQL應用092 聚合函式之不重複之記錄數

Excel 2010 SQL應用092 聚合函式之不重複之記錄數

技術標籤:# Execel 2010 SQL應用

目錄

源資料表

解決方案

DISTINCT+COUNT統計不重複的記錄數


源資料表

下單日期訂單號簡碼訂單數量
2010/4/2731435-9505067
2010/5/3032075-9505067
2010/6/1032515-10004267
2010/6/1032515-26100
2010/6/2032715-26200
2010/6/3033065-9505067
2010/7/333064.55-2450
2010/7/333065-10004333
2010/7/733244.55-26220
2010/7/2233404.55-20204
2010/7/2233505-10004533
2010/7/2233505-26100
2010/7/2233505-9505067
2010/7/2333725-2820
2010/8/233914.55-24
60
2010/8/233916120133
2010/8/934234.55-26260
2010/8/934235-26100
2010/8/1034304.55-20216
2010/8/1034304.55-2450

如圖所示為某公司的訂單明細表,每天所有訂購的商品記錄只能算為同一訂單號的某部分記錄, 例如,圖中下單日期為2010/6/10的記錄同時出現了兩條,統計時均算在訂單號為3251條目下。 統計訂單明細表中不重複的訂單號的數目。

解決方案

SELECT COUNT(訂單號) AS 不重複的訂單號個數
FROM  (SELECT DISTINCT 訂單號 FROM [sheet1$])

DISTINCT+COUNT統計不重複的記錄數

本例首先通過DISTINCT提取不重複訂單號的記錄,然後結合COUNT函式統計訂單號的個數。COUNT函式用於計算查詢返回的記錄數,其語法如下:

COUNT(expr)

expr佔位符代表一個字串表示式,或代表一個使用該欄位中的資料執行計算的表示式。expr中的運算元可以包含表字段或函式的名稱。可以對任何種類的資料(包括文字)進行計數。
COUNT函式不對具有Null欄位的記錄進行計數,除非expr是星號(*)萬用字元。如果使用星號,COUNT將計算記錄總數(包括含Null欄位的記錄). COUNT(*)的計算速度遠遠高於COUNT([Column Name]).注意,不要將星號引在引號('’)中。