欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mysql怎么查學(xué)生名次 sql 查詢學(xué)生名次

mysql中一張學(xué)生表,查詢出單科成績前十名學(xué)生的所有信息 和總分成績前十名學(xué)生的所有信息 在線等

學(xué)生表名為:student, 單科成績的字段為:subject。學(xué)生名字為:name

創(chuàng)新互聯(lián)主營解放網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),解放h5微信小程序搭建,解放網(wǎng)站營銷推廣歡迎解放等地區(qū)企業(yè)咨詢

查詢單科成績前十:mysql語句為:select * from student order by subject desc limit 10;

查詢總分成績前十:mysql語句為:select sum(subject) subject,name from student group by name order by subject desc limit 10;

注:

select sum(subject) subject,name

這句的意思是:sum(subject) subject 把單科成績加總用subject 來命名(就是總成績),name就是一個(gè)字段,這里只有兩個(gè)字段。

group by name order by subject : group by name 的意思按照名字這一欄來分組,當(dāng)然,學(xué)生成績表名字有可能是一樣的,按照學(xué)號是最準(zhǔn)確的,這里只是舉個(gè)例子。

order by subject ?這句的意思是按照總分成績排序,這里的subject 是前面重命名總分的意思。

select sum(subject) as countsubject,name from student group by name order by countsubject desc limit 10;

擴(kuò)展資料:

學(xué)生成績表常用sql

1. 在表中插入符合主鍵

[sql]

/*成績表*/

CREATE TABLE SC

(

Sid INT REFERENCES Student(Sid), /*學(xué)生學(xué)號*/

Cid INT REFERENCES Course(Cid), /*課程編號*/

Score INT NOT NULL, /*課程分?jǐn)?shù)*/

PRIMARY KEY(Sid,Cid) /*將學(xué)生學(xué)號和課程編號設(shè)為復(fù)合主鍵*/?

)

2. 查詢各科成績最高分,最低分以及平均分

[sql]

SELECT c.Cname, MAX(s.Score) AS Max, MIN(s.Score) AS Min, AVG(s.Score) AS Average?

FROM Course c JOIN SC s ON c.Cid = s.Cid?

GROUP BY c.Cname?

/*此處應(yīng)注意,若不按照c.Cname進(jìn)行分組,SQL語句會(huì)報(bào)錯(cuò),c.Cname在SELECT語句中不合法,因?yàn)樗⑽闯霈F(xiàn)在聚合函數(shù)中也沒有出現(xiàn)在GROUP BY語句中*/

3. 查詢平均成績大于80分的學(xué)生姓名以及平均成績

[sql]

SELECT Sname, AVG(Score) AS Average FROM Student JOIN SC?

ON Student.Sid=SC.Sid?

GROUP BY Sname

HAVING AVG(Score)80?

/*以聚合函數(shù)為條件進(jìn)行刪選只能在HAVING語句中進(jìn)行,WHERE語句不支持聚合函數(shù)*/

4.?按總分為學(xué)生排名,總分相同名次相同

[sql]

SELECT RANK() OVER (ORDER BY SUM(ss.Score) DESC) AS Rank, s.Sname,

ISNULL(SUM(ss.Score),0)?

FROM Student s LEFT JOIN SC ss?

ON s.Sid = ss.Sid?

GROUP BY s.Sname?

ORDER BY SUM(ss.Score) DESC

/*RANK()是SQL Server的一個(gè)built-in函數(shù),語法為

RANK() OVER ( [ partition_by_clause ] order_by_clause ).*/

5. 查詢總分在100至200之間的學(xué)生姓名及總分

[sql]

SELECT s.Sname,SUM(ss.Score) FROM Student s JOIN SC ss ON s.Sid=ss.Sid

GROUP BY s.Sname HAVING SUM(ss.Score) BETWEEN 100 AND 200

用sql語句,查詢每個(gè)班級成績排名前三名的學(xué)生姓名

1、首先在打開的SQL?Server中,假設(shè)有兩條數(shù)據(jù)中,包含有【張】,但是這個(gè)張一前一后,如下圖所示。

2、此時(shí)就能利用Select和From語句,查詢數(shù)據(jù),如下圖所示。

3、但是要查找姓名中包含有【張】,那么不能用等號,如下圖所示。

4、因此一定要必須使用Like關(guān)鍵字,才能查詢SQL的數(shù)據(jù)。

5、這個(gè)時(shí)候,如果單對【張】字后加個(gè)百分號是不允許的,這樣只能查找姓張的數(shù)據(jù)。

6、如果想要前后都有關(guān)鍵字【張】,那么一定要在前后都加百分號,就能實(shí)現(xiàn)模糊查找姓名。

sql語言,有一個(gè)成績單表,已知學(xué)生姓名,如何查詢名次?

1、創(chuàng)建測試表,

create table test_score(name varchar2(20), score number);

2、插入測試數(shù)據(jù)

insert into test_score values('張三', 85);

insert into test_score values('李四', 90);

insert into test_score values('王二', 95);

insert into test_score values('吳七', 83);

insert into test_score values('李六', 66);

commit;

3、查詢表中全量數(shù)據(jù),select t.*, rowid from test_score t;

4、編寫sql,根據(jù)學(xué)生姓名,查詢學(xué)生名詞,以學(xué)生‘李四’為例,成績排名第二;? select t.* from (select t.*, rank() over(order by score desc) rk from test_score t) t where t.name = '李四';

如何用一條SQL語句查詢某人所在名次,注意,是名次。 mysql

1、首先新建一個(gè)test數(shù)據(jù)庫,在數(shù)據(jù)庫里創(chuàng)建一張data數(shù)據(jù)表,在表內(nèi)插入5條測試數(shù)據(jù)。

2、新建一個(gè)php文件,命名為test.php,用于講解使用sql查詢數(shù)據(jù)表前三天的數(shù)據(jù)。

3、在test.php文件內(nèi),使用header()方法設(shè)置文件執(zhí)行的編碼為utf8,避免輸出中文時(shí)產(chǎn)生亂碼。

4、在test.php文件內(nèi),使用數(shù)據(jù)庫賬號、密碼、名稱,利用mysqli創(chuàng)建數(shù)據(jù)庫連接,并使用set_charset()方法設(shè)置獲得數(shù)據(jù)的編碼為utf8,同時(shí),使用if語句判斷連接數(shù)據(jù)庫是否成功,如果連接不成功,輸出錯(cuò)誤信息。

5、在test.php文件內(nèi),編寫sql語句,使用TO_DAYS()分別獲得當(dāng)前的天數(shù)和數(shù)據(jù)表ctime字段數(shù)據(jù)的天數(shù),兩者之差小于3天,即前三天,以此為條件查詢data數(shù)據(jù)表的數(shù)據(jù),使用query()執(zhí)行sql語句,同時(shí)使用fetch_all()方法將獲得的數(shù)據(jù)資源轉(zhuǎn)換為二維數(shù)組。

6、在test.php文件內(nèi),使用foreach方法遍歷上一步獲得的二維數(shù)組,輸出數(shù)據(jù)的id和姓名。

7、最后在瀏覽器運(yùn)行test.php文件,查看程序執(zhí)行的結(jié)果,可見,成功從數(shù)據(jù)庫獲得前三天的數(shù)據(jù)。

mysql查詢?nèi)绾螌?shí)現(xiàn)每個(gè)人每科成績的排名

MYSQL?如果強(qiáng)行實(shí)現(xiàn),查詢邏輯會(huì)變的很復(fù)雜,不符合實(shí)際

計(jì)算最好是在PHP里面

$data?..//比如查詢結(jié)果返回給DATA?的二維數(shù)組

foreach($data?as?$vo){

$math[$vo['name']]?=?$vo['數(shù)學(xué)'];

$langue[$vo['name']]?=?$vo['語文'];

$englist[$vo['name']]?=?$vo['英語'];

}

arsort($math);

arsort($langue);

arsort($englist);

$i?=?1;

foreach($math?as?$key=$vo){

$res[$key]['數(shù)學(xué)']?=??$i;

}

$i?=?1;

foreach($langue?as?$key=$vo){

$res[$key]['語文']?=??$i;

}

$i?=?1;

foreach($englistas?$key=$vo){

$res[$key]['英語']?=??$i;

}

mysql查詢我在各科考試中的名次

借題主答復(fù)另一個(gè)問題的答案:

表一(考試名稱表):

CREATE?TABLE?`zm_exam`?(

`id`?int(11)?unsigned?NOT?NULL?AUTO_INCREMENT?COMMENT?'主鍵id,考試表',

`title`?varchar(120)?NOT?NULL?DEFAULT?''?COMMENT?'考試名稱',

`t_id`?int(11)?unsigned?NOT?NULL?DEFAULT?'0'?COMMENT?'外鍵,老師表',

`cg_id`?int(11)?unsigned?NOT?NULL?DEFAULT?'0'?COMMENT?'外鍵,班級表',

`exam_time`?int(11)?unsigned?NOT?NULL?DEFAULT?'0'?COMMENT?'考試時(shí)間',

`status`?tinyint(2)?unsigned?NOT?NULL?DEFAULT?'1'?COMMENT?'1正常,2禁用',

`type`?tinyint(2)?unsigned?NOT?NULL?DEFAULT?'1'?COMMENT?'考試類別,1單科,2全部',

`remark`?varchar(255)?NOT?NULL?DEFAULT?''?COMMENT?'考試說明',

`createdtime`?datetime?DEFAULT?'0000-00-00?00:00:00',

`changedtime`?datetime?DEFAULT?'0000-00-00?00:00:00',

PRIMARY?KEY?(`id`)

)?ENGINE=InnoDB?AUTO_INCREMENT=3?DEFAULT?CHARSET=utf8

表二(考試科目記錄表):

CREATE?TABLE?`zm_score`?(

`id`?int(11)?unsigned?NOT?NULL?AUTO_INCREMENT?COMMENT?'主鍵id,成績表',

`e_id`?int(11)?unsigned?NOT?NULL?DEFAULT?'0'?COMMENT?'外鍵,考試表',

`c_id`?int(11)?unsigned?NOT?NULL?DEFAULT?'0'?COMMENT?'外鍵,科目表',

`stu_id`?int(11)?unsigned?NOT?NULL?DEFAULT?'0'?COMMENT?'外鍵,學(xué)生表',

`grade`?float?unsigned?NOT?NULL?DEFAULT?'0'?COMMENT?'成績分?jǐn)?shù)',

`status`?tinyint(2)?unsigned?NOT?NULL?DEFAULT?'1'?COMMENT?'1正常,2禁用',

`remark`?varchar(255)?NOT?NULL?DEFAULT?''?COMMENT?'說明',

`createdtime`?datetime?NOT?NULL?DEFAULT?'0000-00-00?00:00:00',

`changedtime`?datetime?NOT?NULL?DEFAULT?'0000-00-00?00:00:00',

PRIMARY?KEY?(`id`)

)?ENGINE=InnoDB?AUTO_INCREMENT=47?DEFAULT?CHARSET=utf8

問題:查出每次考試中,該學(xué)生在此次考試中的分?jǐn)?shù)排名:

--?a表、b表同為一模一樣的臨時(shí)表

--?通過比對a、b兩表的考試記錄id考試分?jǐn)?shù)個(gè)數(shù)(?WHERE?a.id?=?b.id?AND?a.grade??b.grade)

SELECT?*,

(SELECT?COUNT(*)+1?FROM?

(SELECT?e.`id`,e.`title`,e.`remark`,s.`grade`,s.`stu_id`,e.`exam_time`?FROM?zm_student?stu,zm_exam?e,zm_score?s?

WHERE?stu.`id`?=?132?AND?stu.`status`?=?1?AND?stu.`c_g_id`?=?e.`cg_id`?AND?e.`type`?=?1?AND?e.`id`?=?s.`e_id`?AND?s.`status`?=?1?ORDER?BY?s.`grade`?DESC)?AS?b?WHERE?a.id?=?b.id?AND?a.grade??b.grade)?AS?paiming?--?名次

FROM?

(SELECT?e.`id`,e.`title`,e.`remark`,s.`grade`,s.`stu_id`,e.`exam_time`?FROM?zm_student?stu,zm_exam?e,zm_score?s?

WHERE?stu.`id`?=?132?AND?stu.`status`?=?1?AND?stu.`c_g_id`?=?e.`cg_id`?AND?e.`type`?=?1?AND?e.`id`?=?s.`e_id`?AND?s.`status`?=?1?ORDER?BY?s.`grade`?DESC)?AS?a?WHERE?a.stu_id?=?132?ORDER?BY?id?DESC;

當(dāng)前題目:mysql怎么查學(xué)生名次 sql 查詢學(xué)生名次
URL地址:http://chinadenli.net/article28/hpescp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)域名注冊移動(dòng)網(wǎng)站建設(shè)標(biāo)簽優(yōu)化全網(wǎng)營銷推廣面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司