表:student

字段:

studentnum(学号),studentname(学生姓名),classname(班级名称),sex(男:1,女:2),birthday(出生日期)

我现在数据库存储了以下数据:

问题1:查出student表中各个班级的人数,并按人数从多到少排列

答案:

SELECT classname,COUNT(classname) FROM student GROUP BY classname ORDER BY COUNT(classname) DESC

查询结果是:

注意点:GROUP BY分组,ORDER BY...DESC(对某某字段进行降序排列,也就是从多到少显示,ASC是升序)

问题2:查出student表中各班年龄最小的女生班级号,学号,姓名和出生日期,并按班级号升序排列

答案:

SELECT classname,studentnum,studentname,birthday FROM student WHERE age in(SELECT MIN(age) FROM student WHERE sex='2' GROUP BY classname ) ORDER BY classname ASC

查询结果为:

注意点:以上标红已说明,大概思路就是:既然要查找年龄最小的,则需要用到min函数。

各班,则需要用到分组gruop by 班级。where age in 的意思是我要查找的年龄条件是什么,在年龄条件符合的条件下,性别必须是女生,所以要加in里面加个where 条件,最后则是按照题目的意思,按班级号升序,就用到了order by 班级号 ASC。

问题3:想统计出各班的男生和女生分别 多少人

答案:SELECT classname AS '班级',SUM(CASE WHEN sex='1' THEN sex ELSE 0 END ) AS '男生',
SUM(CASE WHEN sex='2' THEN sex ELSE 0 END ) AS '女生'
FROM student

GROUP BY classname;

注:如果case函数中,把then后面的sex改成数字1同样也能得到正确答案,但是如果改为2之后,得到的结果则会计算有误。

结果展示:

注意点,使用的是

以上是个人理解,如有理解错误的地方,欢迎指正哦~

我是通过翻书和做测试,得出来的答案。

其实数据库的知识如果太久没有接触,脑子就很容易短路的,希望今后能够慢慢复习,毕竟知识都是靠积累的哦。

这是我写的第一篇博客,之后会一直坚持写技术博客,当然,也会写一些人生感悟,希望能与每个走在未来的人一起交流心声。

SQL:查找某个班级的人数并按班级人数多少进行排列,查找各班年龄最小的女生的班级号,学号,姓名,出生日期并按班级号升序排列相关推荐

  1. 按照班级,统计班级的总人数,男生人数和女生人数分别是多少

    有student表,按照班级,统计班级的总人数,男生人数和女生人数分别是多少. select stuClass,count(stuName) 班级人数,sum(case when stuSex='男' ...

  2. 【SQL开发实战技巧】系列(十五):查找最值所在行数据信息及快速计算总和百之max/min() keep() over()、fisrt_value、last_value、ratio_to_report

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  3. SQL分析在2020年度第一季度的购买人数,销售金额,客单价,客单件人均购买频次(时间函数、分组汇总、常用指标计算)

    [面试题]某公司数据库里有3张表,销售订单表.产品明细表.销售网点表 "销售订单表"记录了销售情况,每一张数据表示哪位顾客.在哪一天.哪个网点购买了什么产品,购买的数量是多少,以及 ...

  4. 用MySQL表示学号_java习题:在MySQL数据库建立一个学生信息表(学号,姓名,班级,成绩),编程完成如下操作...

    满意答案 myfriend张 2014.04.26 采纳率:56%    等级:11 已帮助:5344人 use 库名 go -----打开库 create table 学生信息 (学号 int no ...

  5. 一条SQL语句查出每门课程的及格人数和不及格人数

    题目描述: 现有表stu_score ,有字段 id, cid, score .分别代表 学生id,课程id,分数. 要求:用一条SQL语句查询出每门课程的及格人数和不及格人数. select cid ...

  6. java从学号中提取班级_excel从学号中提取所在班级分析

    学号的特定位数代表所在班级,比如学号为120305,则此学号所相应的班级为3班. 知识储备: mid:从字符串中截取特定长度的子字符串. numberstring:将数字转换大小写,比如将数字&quo ...

  7. Java ArrayList 某中学有若干学生,每个学生有一个姓名属性、班级名称属性和考试成绩属性

    题目:某中学有若干学生(学生对象放在一个List中),每个学生有一个姓名属性.班级名称属性(String)和考试成绩 属性(int),某次考试结束后,每个学生都获得了一个 考试成绩.请打印出每个班级的 ...

  8. mysql查询统计不及格人数_MySQL,查询及格人数,不及格人数

    一个表score,字段是name,class,score.分别代表姓名,所在班级,分数. 要求用一条语句查出每个班的及格人数和不及格人数,格式为:class,及格人数,不及格人数. SELECT `c ...

  9. c++ 查找文件夹下最新创建的文件_Linux文件查找进阶知识,find命令的用法及解读...

    1.上面讲到了使用locate查找文件,它是进行非实时的.模糊查找,基于对某段时间建立的数据库来对文件进行搜索,查找时间相对快速,今天来看看另一个文件查找工具find,它是对文件进行实时查找.精确查找 ...

最新文章

  1. MFC关于Radio按钮分组与选择的操作
  2. 找回Python IDLE Shell里的历史命令(用上下键翻历史命令怎么不好用了呢?)
  3. 如何通过信息系统项目管理师+中级备考经验
  4. Android(五)——控制UI界面的方法
  5. redis 硬件要求_Redis持久化机制
  6. ubuntu安装扩展在phpinfo显示不出来的解决办法
  7. 晨风机器人怎么买奴隶_潮牌复刻和正品该怎么抉择???带你了解了解
  8. Ubuntu12.10中安装ati显卡驱动amd driver 13.1
  9. Option键用的好,鼠标用的少(这6个你绝对不知道的...)
  10. Python3爬虫反反爬之搞定同程旅游加密参数 antitoken
  11. linux安装之后缺少命令,centos7下安装缺少的命令依赖包
  12. 内核代码架构图 :systemtap函数选择点
  13. SpringBoot2 | Spring IOC 流程中核心扩展接口的12个扩展点源码分析(十一)
  14. 《Reids 设计与实现》第十五章 集群(中)
  15. 选择自己用的到的文件编译一个CEGUISample(一)
  16. linux samba 拒绝访问,Samba拒绝访问的解决方式
  17. 30岁前,环游世界220天
  18. srand rand c语言,C语言srand和rand函数
  19. python目标识别_10行Python代码实现目标检测
  20. 为什么程序员话少钱多死得早?一位人生悲惨的程序员与你讲述其中原因

热门文章

  1. VUE通过自定义指令,只允许输入大写英文以及数字
  2. 重庆大学计算机类专业分数线,重庆大学录取分数线 2019年重庆大学各专业录取分数线...
  3. 《信息安全系统设计基础》第1周问题总结
  4. 支持Genero BDL 4gl语言的编辑器
  5. 2021-2025年中国军用浮桥行业市场供需与战略研究报告
  6. Linux Mint 18安装sougou拼音输入法
  7. 建木(Jianmu)----迈出建木第一步创建项目分组
  8. MATLAB 设置msgbox若干秒后自动关闭
  9. 笔记本在Win7/Win8/win8.1下安装OS X 10.9.3懒人版通用教程
  10. Oracle10g ora12170,ORA-3136、TNS-12535 12170 12606