當前位置:首頁 » 編程語言 » sql計算班級求和
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql計算班級求和

發布時間: 2023-07-01 17:18:07

sql按條件匯總求和

如下:

1、第一步,將示例表導入SQL語句中,見下圖,轉到下面的步驟。

Ⅱ 求sql文,按班級分組計算總分並排名

select 班級,姓名,『總分』,sum(分數)
from 表名
group by 班級,姓名
order by sum(分數) desc

Ⅲ 可不可以用一條SQL語句查詢多人各自成績的總和

查詢多人各自成績的總和sql語句如下:

select name,SUM(score)

from test2

group by name

按姓名分組,查看每個學生的優良中差統計:

SELECT sname, count(snum) 總數,

sum(case when snum<60 then 1 else 0 end) AS 不合格,

sum(case when snum>=60 AND snum<70 then 1 else 0 end) AS 中,

sum(case when snum>=70 AND snum< 90 then 1 else 0 end) AS 良,

sum(case when snum>=90 then 1 else 0 end) AS 優

FROM test.Score

group by sname

;

(3)sql計算班級求和擴展閱讀

SQL中Group By的使用:

「Group By」從字面意義上理解就是根據「By」指定的規則對數據進行分組,所謂的分組就是將一個「數據集」劃分成若干個「小區域」,然後針對若基滾干個「小區域」進行數據處理。

示例:

select 類別, sum(數量) as 數量之和

from A

group by 類別

這段代碼實際上就是分類匯總。

在Access中不可以使用「order by 數量之和 desc」,但在SQL Server中則可以。

需要注棗段意的一點,在select指定的欄位要麼就要包含在Group By語句的後面,作為分組的依據;要麼就要被包含在聚合函數中。搏岩余

Ⅳ SQL里邊的求和語句怎麼寫

SQL中求和語句分為縱向匯總和橫向匯總語句;

假設數據列為:A、B、C、D、E、F、G

縱向匯總語句:

select sum(A),sum(B),sum(C),sum(D),sum(E),sum(F),sum(G) from 表名

橫向匯總的SQL語句是:
select A,B,C,D,E,F,G,A+B+C+D+E+F+G from 表名

求所有數據總和的SQL語句是:
select sum(A)+sum(B)+sum(C)+sum(D)+sum(E)+sum(F)+sum(G) from 表名

(4)sql計算班級求和擴展閱讀:

SQL是一種查詢功能很強的語言,只要是資料庫存在的數據,總能通過適當的方法將它從資料庫中查找出來。SQL中的查詢語句只有一個:SELECT,它可與其它語句配合完成所有的查詢功能。SELECT語句的完整語法,可以有6個子句。完整的語法如下:

SELECT 目標表的列名或列表達式集合

FROM 基本表或(和)視圖集合

〔WHERE條件表達式〕

〔GROUP BY列名集合

〔HAVING組條件表達式〕〕

〔ORDER BY列名〔集合〕…〕

Ⅳ 急求SQL匯總出每個班級總的課時數(即每個班級所有學生選課時數的總和),並按總課時數降低排序。

Try this:

SELECT a.班級, SUM(b.課程號 * c.周課時數)
FROM 學生表 a , 選課表 b, 課程表 c
WHERE a.學號 = b.學號
AND b.課程號 = c. 課程號
GROUP BY a.班級
ORDER BY SUM(b.課程號 * c.周課時數) DESC

Ⅵ SQL按條件匯總求和

1、首先在SQL語句中中導入樣表。

Ⅶ SQL語言基礎(3)

count(欄位)

求 select 返回的記錄總數

查詢學生總數

select count(*) from studnets;

count可以結合distinct使用,去重後的統計

查詢一共有多少個班級 (把班級進首鉛行去重後進行統計)

select count(distinct class) from students;

查詢女學生的數量

select count(*) from studnets where sex ='女';

max(欄位名)

查詢指定欄位里的最大值

查詢students中的最大年齡

select max(age) from students;

查詢女學生最大年齡

select max(age) from studnets where sex '女';

查詢1班最大年齡

select max(age) from students where class = '1班';

min(欄位)

查詢指定欄位里的最小值

查詢學生中最小年齡

select min(age)  from students;

查詢學生中女生最小年齡

select min(age) from studnets where sex ='女';

查詢學生中1班最小年齡

select min(age) from students where class ='1班';

sum(欄位名)

指定欄位的值求和

查詢學生的年齡總和

select sum(age) from students;

查詢女學生的年齡總和

select sum(age) from students where sex = '女';

查詢1班學生的年齡總和

select sum(age) from students where class ='1班';

age(欄位)表示求此者耐好欄位的平均值

查詢班級中的平均年齡

select avg(age) from  studnets;

查詢班級中女生的平均年齡

select avg(age) from students where sex = '女';

查詢班級為1班的平均年齡

select avg(age) from students where class ='1班';

avg的欄位中如果有null,null不做為分母計算平均值 (如果所查詢的3個值,其中一個值為null,而只能算做兩個值求平均值)

擴展練習

查詢所有學生的最大年齡,最小年齡,平均年齡;

select max(age),min(age),avg(age) from students;

查詢1班有多少個學生

select count(*) from sutdnets where class = '1班';

查詢3班中年齡小於30歲的同學有多少

select count(*) from students where class ='3班' and age < '30';

group by 欄位名

select 聚合函數 from 表名 where 表名 group by 欄位 

group by 就是畝襪配合聚合函數使用的

分別查詢男女同學的數量

select sex,count(*) from students group by sex;

查詢各個年齡段的學生數量

select age,count(*) from students group age;

查詢1班男生、女生的數量

select sex,count(*) from where class ='1班' students group by sex;

用數據分組的方法,統計各個班級學生總數,平均年齡,最大年齡,最小年齡

select class count(*),avg(age),max(age),min(age) from students group by class;

統計各個班級的學生總數,平均年齡、最大年齡、最小年齡、但不統計3班的學生,統計結果按班級從小到大排序

select class count(*),avg(age),max(age),min(age) from students where class !='3班' group by class order by class desc;

分組以後篩選

用where查詢男生總數

select count(*) from studnets where sex ='男';

用having查詢男生總數

select count(*) from students group by sex having sex ='男';

求班級人數大於3人的班級

select class, count(*) from students group by class having count(*)> 3;

Having與where篩選的區別

where是對標的原始數據進行篩選

having是對group by之後已經分過組的數據進行篩選

having可以使用聚合函數 where不能用聚合函數

查詢班級總人數大於2人的班級名稱以及班級對應的總人數

select class,count(*) from students group by class having count(*) > 2;

查詢平均年齡大於30歲的班級名稱和班級總人數

select class,count(*) from students group by class having ave(age) > 30;

select * from 表名 where 條件 group by 欄位 order by 欄位 limit start,count 

 語法:limit開始行,獲取行數 

limit總是出現在select語句的最後

start代表開始行號,行號從0開始編號

count代表要顯示多少行

省略start默認從0開始,從第一行開始

查詢前3行學生記錄

select * from students limit 0,3;

查詢從第4條記錄開始的三條記錄

select * from studnets limit 3,3;

當有where或者group by或者order by,limit總是出現在最後

查詢年齡最大同學的名字

select name from students order by age desc limt 0,1;

查詢年齡最小女同學的信息

select * from students where sex = 女 order by age  limit 0,1;

當一張表記錄特別多的時候,就需要用到分頁顯示

已知:每頁顯示m條數據,求查詢第n頁數據

公式 limit (n-1)*m,m

每頁顯示4條記錄,第3頁的結果  

select * from students limit 8,4;

每頁顯示4條記錄,第2頁的結果

select * form students limit 4,4;

已知每頁也數,求一張表需要幾頁顯示

    ♦求總頁數

    ♦總頁數/每頁的記錄數

    ♦如果結果是整數,那麼就是總頁數,如果結果有小數,那麼就在結果的整數上+1

每頁顯示5條記錄,分別多條select顯示每頁的記錄

第一頁  

select * from limit 5;

第二頁   套用公式 (n-1)*m,m  m條數 n頁數

select * from limit 5,5;

第三頁

select  * from limit 10,5; 

第四頁

select * from limit 15,5;

Ⅷ SQL資料庫里的求和語句怎麼寫

用select sum(列名),sum(列名),sum(列名)…… from 表 where 條件。