1. 程式人生 > >SQL腳本去重分組統計

SQL腳本去重分組統計

數據 values name var logs 記錄 寫入 varchar 分享

需求:首先有一張表記錄學生姓名、科目和成績,然後模擬插入幾條數據,腳本如下:

create table score
(
       Name     nvarchar(20),--姓名
       subject  varchar(20),--科目
       grade    int--成績       
);

insert into score(name,subject,grade) values(張三,語文,100);
insert into score(name,subject,grade) values(張三,數學,90);
insert into score(name,subject,grade) values
(李四,語文,85); insert into score(name,subject,grade) values(王五,語文,99); insert into score(name,subject,grade) values(王五,英語,89);

現在我們需要得到一個結果,能根據姓名分組顯示每個學生所參考的科目數量和總分數,期望結果如下:

技術分享


那麽我們需要寫入的sql腳本如下:

select name 姓名, count(distinct subject) 科目, sum(grade) 總分
  from score
 group by name

然後就能得到上面結果了,重點是:count(distinct subject) 科目

,再一次顯示一下結果視圖:

技術分享

SQL腳本去重分組統計