--創建測驗表if object_id(N'T_Test',N'U') is null CREATE TABLE [dbo].[T_Test] ( [ID] int IDENTITY(1, 1) PRIMARY key NOT NULL, [Grouping] varchar(50) NOT NULL, [Ret] varchar(10) null, [Chk] varchar(10) NULL )GO--插入資料insert into T_Test values('A', 1, 'XXX')insert into T_Test values('A', 2, 'XXX')insert into T_Test values('A', 2, 'YYY')insert into T_Test values('A', 2, null )insert into T_Test values('A', 2, '' )insert into T_Test values('A', null, 'cc' )insert into T_Test values('A', '', 'cc' )insert into T_Test values('B', 1, 'YYY')insert into T_Test values('B', 3, 'XXX')insert into T_Test values('B', 2, 'XXX')insert into T_Test values('B', 4, null )insert into T_Test values('B', 5, '' )insert into T_Test values('B', null, 'cc' )insert into T_Test values('B', '', 'cc' )--1、根據Grouping欄位分組 統計欄位Ret(不為空)不同值的數量,--2、根據Grouping欄位分組 chk不為空的情況下,統計欄位Ret(不為空)不同值的數量,--主要利用count函式不統計NULL數量,nullif函式select grouping, --count(distinct case when isnull(ret, '')<>'' then ret else null end), count(distinct NULLIF(ret, '')), count(distinct case when isnull(chk, '')<>'' then NULLIF(ret, '') else null end)from t_test group by GROUPING
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/34248.html
標籤:SQL Server
上一篇:SQL提高查詢效率的幾點建議
