MySQL查詢數(shù)學(xué)成績?yōu)?7,88,99的同學(xué)有很多種方式。比如:
為企業(yè)提供網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站優(yōu)化、成都全網(wǎng)營銷、競價托管、品牌運營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)公司擁有網(wǎng)絡(luò)營銷運營團隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認可!
select * from 成績表 where 數(shù)據(jù)成績字段名 in(77,88,99);
學(xué)生表名為:student, 單科成績的字段為:subject。學(xué)生名字為:name
查詢單科成績前十: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就是一個字段,這里只有兩個字段。
group by name order by subject : group by name 的意思按照名字這一欄來分組,當然,學(xué)生成績表名字有可能是一樣的,按照學(xué)號是最準確的,這里只是舉個例子。
order by subject ?這句的意思是按照總分成績排序,這里的subject 是前面重命名總分的意思。
select sum(subject) as countsubject,name from student group by name order by countsubject desc limit 10;
擴展資料:
學(xué)生成績表常用sql
1. 在表中插入符合主鍵
[sql]
/*成績表*/
CREATE TABLE SC
(
Sid INT REFERENCES Student(Sid), /*學(xué)生學(xué)號*/
Cid INT REFERENCES Course(Cid), /*課程編號*/
Score INT NOT NULL, /*課程分數(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進行分組,SQL語句會報錯,c.Cname在SELECT語句中不合法,因為它并未出現(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ù)為條件進行刪選只能在HAVING語句中進行,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的一個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
子查詢最大的成績,然后在一次對比
SELECT 字段? FROM? 表名? ?AS 表名,( SELECT 課程, max( 成績) AS maxscore FROM 表名? GROUP BY 課程 ) AS 表名1? WHERE? ?表名.課程= 表明1.課程? ?AND 表名.成績= ?表名1.成績;