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

sql班級總人數

發布時間: 2023-08-17 13:42:51

⑴ 怎樣用sql語句表示:查詢每個班級的學生人數

查詢每個班級的學生人數的sql語句是:

select class_name,count(1) from table_name group by class;

其中class_name,count(1)為查出的班級名和對應的人數,table_name為學生表名稱,group by是將class分組。

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

⑵ SQL學生人數的計算欄位怎麼表示

SQL學生人數計算欄位的表示語句是:
select class_name,count(1) from table_name group by class;
其中class_name,count(1)為查出的班級名和對應的人數,table_name為學生表名稱,group by是將class分組。

⑶ sql查詢一個班級中總共有多少人以及男女分別多少人

create view StuClassView as
SELECT s.ID ,s.StuName ,s.StuAge ,s.StuAddress ,s.StuTel ,s.ClassId ,s.StuId,s.StuSex ,e.ClassName,e.ClassInfo,e.ClassFlag
FROM Classes as e left join Students as s on s.ClassId=e.ClassIdselect sc.ClassName as '班級名稱',count(sc.StuId) as '總人數' ,sum(case when sc.StuSex='男' then 1 else 0 end) as '男', sum(case when sc.StuSex='女' then 1 else 0 end) as '女' from StuClassView as sc group by sc.ClassName!

⑷ 利用sql統計「學生」表中學生的總人數

統計「學生」表中學生的總人數的sql語句是:

select count(*) from student;

其中select代表查詢,count(*)是統計行數量,student是學生表,使用上述語句可以統計學生表中的所有行記錄也就是學生的總人數。


(4)sql班級總人數擴展閱讀

常用sql語句介紹:

1、 查詢指定列

SQL>SELECT empmo, ename, mgr FROM emp;

SQL>SELECT DISTINCT mgr FROM emp; 只顯示結果不同的項

2、查詢指定行

SQL>SELECT * FROM emp WHERE job='CLERK';

3、使用算術表達式

SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp;

nvl(comm,1)的意思是,如果comm中有值,則nvl(comm,1)=comm; comm中無值,則nvl(comm,1)=0。

SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal為別名,可按別名排序)

SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82';

⑸ 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創建一個存儲過程,根據指定的班級,得到該班級的人數的語句怎麼寫

參考如下:

delimiter$$
DropPROCEDUREIFEXISTSgetCount;
CREATEPROCEDUREgetCount(INv_classNameVARCHAR(30),OUTv_countINTEGER)
BEGIN
declareicountinteger;
selectcount(*)intoicountfrom班級表wherebanji=v_className
END$$
delimiter;

資料庫表名: 學生信息 求一 sql語句 取出所有班級的人數

使用group分組匯總的方式。
假定如下:
學生信息表--student,包含欄位班級ID(CID),學生ID(SID)等,
班級表--class,包含班級ID(ID),班級名稱(CNAME)等,
簡單SQL如下:
select C.CNAME,count(*) from student s,class c where s.CID=s.ID group by C.CNAME;
得到結果是班級名稱,以及該班級下所有學生人數,有N個班級就有N筆資料。

⑻ SQL語句統計班級人數,班級表+學生表

SELECT 班級名稱,COUNT(學號) 人數
FROM 班級表 LEFT JOIN 學生表 ON 班級表.班級編號=學生表.班級
GROUP BY 班級名稱

⑼ SQL 查詢統計每個班的學生人數

select sClass 班級,count(*) 班級學生總人數。
sum(case when sGender=0 then 1 else 0 end) 該班級女生人數。
sum(case when sGender=0 then 1 else 0 end)*1.0/count(*) 該班級女生所佔比例。
sum(case when sGender=1 then 1 else 0 end) 該班級男生人數。
sum(case when sGender=1 then 1 else 0 end)*1.0 /count(*) 該班級男生所佔比例。
from student GROUP BY sClass ORDER BY sClass asc