欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MYSQL如何查詢成績(jī)?yōu)榍?名的學(xué)生

 更新時(shí)間:2023年11月28日 09:20:21   作者:晚風(fēng)吹兒  
這篇文章主要介紹了MYSQL如何查詢成績(jī)?yōu)榍?名的學(xué)生問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

需求:查詢成績(jī)?yōu)榍?名的學(xué)生

拿到需求后,先對(duì)需求進(jìn)行分析,找出篩選的條件

Mysql查詢

1、最基本的查詢

select * from table where name="panpan"

2、查前5名

在mysql中篩選數(shù)據(jù)的前幾名,可以用關(guān)鍵字:limit

select * from table where name="panpan" limit 1

說(shuō)明:查詢表中名為panpan的第一條記錄

3、以什么條件進(jìn)行篩選,需求是以成績(jī)進(jìn)行篩選,則可以用order by 排序篩選

select * from table order by grade

查詢應(yīng)用

合并后查詢:

select * from score order by grade limit 5

說(shuō)明:查詢到score表里的grade ,以grade篩選,提取出前5條記錄

查詢成績(jī)最高和最低的人

簡(jiǎn)單描述

成績(jī)表中有學(xué)生姓名、學(xué)生科目以及學(xué)生分?jǐn)?shù)。查詢分?jǐn)?shù)最高和分?jǐn)?shù)最低的學(xué)生的以及學(xué)生的分?jǐn)?shù)。注意的點(diǎn)如下:

1、group by,select 選擇的列,必須是group by 中的列,或者是函數(shù)形式。

2、利用MAX() 和MIN()sql函數(shù)。

3、建立的表結(jié)構(gòu)如下。

-- ----------------------------
-- Table structure for grade
-- ----------------------------
DROP TABLE IF EXISTS `grade`;
CREATE TABLE `grade` (
  `stu_name` varchar(255) NOT NULL,
  `stu_subject` varchar(255) NOT NULL,
  `score` int(255) DEFAULT NULL,
  PRIMARY KEY (`stu_subject`,`stu_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of grade
-- ----------------------------
INSERT INTO `grade` VALUES ('lilei', 'shuxue', '99');
INSERT INTO `grade` VALUES ('xiaoyong', 'shuxue', '66');
INSERT INTO `grade` VALUES ('lilei', 'yingyu', '80');
INSERT INTO `grade` VALUES ('xiaoyong', 'yingyu', '55');
INSERT INTO `grade` VALUES ('lilei', 'yuwen', '78');
INSERT INTO `grade` VALUES ('xiaoyong', 'yuwen', '88');

思路

1) 按照科目分組查詢成績(jī)最高的人

SELECT grade.stu_subject, MAX(grade.score) as score from grade GROUP BY stu_subject;

2) 顯示出成績(jī)最高的人的姓名和科目名稱

SELECT grade.* from grade,
(SELECT grade.stu_subject, MAX(grade.score) as score from grade GROUP BY stu_subject )b
WHERE grade.score = b.score and grade.stu_subject = b.stu_subject;

3) 顯示出列標(biāo)題.

SELECT “成績(jī)最高”,grade.* from grade,
(SELECT grade.stu_subject, MAX(grade.score) as score from grade GROUP BY stu_subject )b
WHERE grade.score = b.score and grade.stu_subject = b.stu_subject;

成績(jī)最低的也是如此就是利用MIN()函數(shù), 如果需要同時(shí)查出, 可以用union 如下sql

SELECT "成績(jī)最高",grade.* from grade, 
(SELECT  grade.stu_subject, MAX(grade.score) as score  from grade GROUP BY  stu_subject  )b
WHERE grade.score = b.score and grade.stu_subject = b.stu_subject
UNION
SELECT "成績(jī)最低",grade.* from grade, 
(SELECT  grade.stu_subject, MIN(grade.score) as score  from grade GROUP BY  stu_subject  )b
WHERE grade.score = b.score and grade.stu_subject = b.stu_subject;

查詢結(jié)果如下圖所示:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Navicat Premiun遠(yuǎn)程連接MySQL報(bào)錯(cuò)10038解決方案

    Navicat Premiun遠(yuǎn)程連接MySQL報(bào)錯(cuò)10038解決方案

    這篇文章主要介紹了Navicat Premiun遠(yuǎn)程連接MySQL報(bào)錯(cuò)10038解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Mysql常見(jiàn)的慢查詢優(yōu)化方式總結(jié)

    Mysql常見(jiàn)的慢查詢優(yōu)化方式總結(jié)

    優(yōu)化是一項(xiàng)復(fù)雜的任務(wù),因?yàn)樗罱K需要對(duì)整個(gè)系統(tǒng)的理解,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Mysql常見(jiàn)的慢查詢優(yōu)化方式,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • SQL實(shí)現(xiàn)LeetCode(175.聯(lián)合兩表)

    SQL實(shí)現(xiàn)LeetCode(175.聯(lián)合兩表)

    這篇文章主要介紹了SQL實(shí)現(xiàn)LeetCode(175.聯(lián)合兩表),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 詳解MySQL數(shù)據(jù)庫(kù)、表與完整性約束的定義(Create)

    詳解MySQL數(shù)據(jù)庫(kù)、表與完整性約束的定義(Create)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)、表與完整性約束的定義(Create),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-04-04
  • 通過(guò)代碼實(shí)例了解頁(yè)面置換算法原理

    通過(guò)代碼實(shí)例了解頁(yè)面置換算法原理

    這篇文章主要介紹了通過(guò)代碼實(shí)例了解頁(yè)面置換算法原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 面試被問(wèn)select......for update會(huì)鎖表還是鎖行

    面試被問(wèn)select......for update會(huì)鎖表還是鎖行

    select … for update 是我們常用的對(duì)行加鎖的一種方式,那么select......for update會(huì)鎖表還是鎖行,本文就詳細(xì)的來(lái)介紹一下,感興趣的可以了解一下
    2021-11-11
  • mySQL count多個(gè)表的數(shù)據(jù)實(shí)例詳解

    mySQL count多個(gè)表的數(shù)據(jù)實(shí)例詳解

    這篇文章通過(guò)實(shí)例給大家介紹了mySQL中count多個(gè)表的數(shù)據(jù),也就是多個(gè)表如何聯(lián)合查詢,文中通過(guò)項(xiàng)目中遇到的一個(gè)問(wèn)題進(jìn)行分析和實(shí)現(xiàn),給出了詳細(xì)的示例代碼,相信對(duì)大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面來(lái)一起看看吧。
    2016-11-11
  • 20分鐘MySQL基礎(chǔ)入門(mén)

    20分鐘MySQL基礎(chǔ)入門(mén)

    這篇文章主要為大家分享了20分鐘MySQL基礎(chǔ)入門(mén)教程,快速掌握MySQL基礎(chǔ)知識(shí),真正了解MySQL,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • MySQL鎖情況查看命令

    MySQL鎖情況查看命令

    本文主要介紹了MySQL鎖情況查看命令,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • mysql報(bào)錯(cuò)ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost解決方式

    mysql報(bào)錯(cuò)ERROR 1396 (HY000): Operation ALT

    這篇文章主要給大家介紹了關(guān)于mysql報(bào)錯(cuò)ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost的解決方式,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-05-05

最新評(píng)論