需求:首先有一張表記錄學生姓名、科目和成績,然後模擬插入幾條資料,指令碼如下:
createtable
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然後就能得到上面結果了,重點是:count(distinct subject) 科目,再一次顯示一下結果檢視:(grade) 總分
from
score
group
by name
SQL分組統計
全國各省份人口數排前三的城市 思路 先按照省份分組,再組內按照人口數排序取前三 mysql set num 0 class select from select p.num if class province,num 1 1 as rank,class p.province as pclass fr...
SQL分組統計
第一種情況 橫向顯示 先看下面的乙個資料表 現在的需求是 統計出v coun每一種取值情況下,對就的v iseneded的數量。oracle中的 sql 如下 select v count,sum case when v isended 1then 1else 0end as 一的數量,sum ca...
排序,去重,分組,作業
all 所有的意思 in 代表在某些引數範圍之內的都符合條件 in 括號裡面寫引數,相當於多個or select from 檔名 where 表名 in not 起到修飾的作用,取反,寫在in前面 select from 檔名 where 表名 not in between and 表示在某個範圍之...