当前位置: 首页 > news >正文

学生——成绩表2.3

一、表说明

同学生——成绩表2.1

二、目录

其他

1.查询"李"姓老师的数量

2.查询男生、女生人数

3.查询名字中含有"风"字的学生信息

4.查询同名同性学生名单,并统计同名人数

5.查询1990年出生的学生名单

6.查询各学生的年龄

7.查询本周过生日的学生

8.查询下周过生日的学生

9.查询本月过生日的学生

10.查询下月过生日的学生

三、查询

1.查询"李"姓老师的数量

select count(Tname) as '"李"姓老师的数量' from Teacher where Tname like N'李%'

2.查询男生、女生人数

方式1

select case when Ssex = '' then '男生人数' else '女生人数' end '男女情况' , count(1) '人数' from student group by 
case when Ssex = '' then '男生人数' else '女生人数' end

方式2

select 
sum(case when Ssex = '' then 1 else 0 end) 男生人数,
sum(case when Ssex = '' then 1 else 0 end) 女生人数 
from student

方式3 分开查

select count(Ssex) as 男生人数 from Student where Ssex = ''

select count(Ssex) as 女生人数 from Student where Ssex = ''

3.查询名字中含有"风"字的学生信息

4.查询同名同性学生名单,并统计同名人数

select Sname 学生姓名, count(*) 人数 from Student group by Sname having count(*) > 1

5.查询1990年出生的学生名单(注:Student表中Sage列的类型是datetime)

select * from Student where year(sage) = 1990

6.查询各学生的年龄

方式1:只按照年份来算(x)

select * , datediff(yy , sage , getdate()) 年龄 from student

方式2:按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一(x)

select * , case when right(
convert(varchar(10),getdate(),120),5) < right(convert(varchar(10),sage,120),5) then datediff(yy , sage , getdate()) - 1 else datediff(yy , sage , getdate()
) end '年龄' from student

方式3:

SELECT s.SNAME ,FLOOR((NOW()-s.Sage)/10000000000) 年龄
from student s

方式4:

SELECT SNAME,DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(Sage, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') 
< DATE_FORMAT(Sage, '00-%m-%d')) AS 年龄 
from student;

7.查询本周过生日的学生

方式1:(x)

select * from student where datediff(week,datename(yy,getdate()) + right(convert(varchar(10),sage,120),6),getdate()) = 0

方式2:

select * from student 
where DATE_FORMAT(Sage, '%c-%d') 
between DATE_FORMAT(date_sub(curdate(),INTERVAL WEEKDAY(curdate()) DAY), '%c-%d') 
and DATE_FORMAT(date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 6 DAY), '%c-%d');

8.查询下周过生日的学生(x)

方式1:(x)

select * from student where datediff(week,datename(yy,getdate()) + right(convert(varchar(10),sage,120),6),getdate()) = -1

方式2:

select * from student 
where DATE_FORMAT(Sage, '%c-%d') 
between DATE_FORMAT(date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 7 DAY), '%c-%d') 
and DATE_FORMAT(date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 13 DAY), '%c-%d');

9.查询本月过生日的学生(x)

方式1:(x)

select * from student where datediff(mm,datename(yy,getdate()) + right(convert(varchar(10),sage,120),6),getdate()) = 0

方式2:(注:date(concat(year(curdate()),'-',month(curdate()),'-','1')) 也是本月的第一天,和concat(date_format(LAST_DAY(now()),'%Y-%m-'),'01')查询结果一致。)

select * from student 
where DATE_FORMAT(Sage, '%c-%d') 
between DATE_FORMAT(concat(date_format(LAST_DAY(now()),'%Y-%m-'),'01'), '%c-%d') 
and DATE_FORMAT(LAST_DAY(now()), '%c-%d')
order by DATE_FORMAT(Sage, '%c-%d')

10.查询下月过生日的学生(x)

方式1:(x)

select * from student where datediff(mm,datename(yy,getdate()) + right(convert(varchar(10),sage,120),6),getdate()) = -1

方式2:

select * from student 
where DATE_FORMAT(Sage, '%c-%d') 
between DATE_FORMAT(concat(date_format(LAST_DAY(now() + interval 1 month),'%Y-%m-'),'01'), '%c-%d') 
and DATE_FORMAT(LAST_DAY(now() + interval 1 month), '%c-%d')
order by DATE_FORMAT(Sage, '%c-%d')

相关文章:

  • SQL Server 2008空间数据应用系列十:使用存储过程生成GeoRSS聚合空间信息
  • 第2章番外 Java的命名规范
  • 基于清单的启动器的实现
  • linux运维实战练习-2015年11月8日-11月17日课程作业(练习)汇总
  • 使用netstat命令查看并发连接数
  • Visio中如何画面积一样的形状
  • SIP进行时
  • 有一个很大的整数list,需要求这个list中所有整数的和,写一个可以充分利用多核CPU的代码,来计算结果(转)...
  • 实习小白::(转) Cocos2d-x 3.0 开发(十二)在CocoStudio中使用粒子挂载与曲线动画...
  • 高焕堂讲Android核心
  • python对象的创建和销毁
  • Foundation框架集合 ---- NSArray和NSMutableArray
  • 【BZOJ】2876: [Noi2012]骑行川藏
  • 【BZOJ】3714: [PA2014]Kuglarz
  • intelliJ IDEA使用体验
  • .pyc 想到的一些问题
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Android 架构优化~MVP 架构改造
  • Computed property XXX was assigned to but it has no setter
  • CSS 三角实现
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Python 反序列化安全问题(二)
  • Sass 快速入门教程
  • SQLServer之索引简介
  • Sublime text 3 3103 注册码
  • ubuntu 下nginx安装 并支持https协议
  • underscore源码剖析之整体架构
  • windows-nginx-https-本地配置
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端面试之CSS3新特性
  • 三分钟教你同步 Visual Studio Code 设置
  • 系统认识JavaScript正则表达式
  • 小程序测试方案初探
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • !!Dom4j 学习笔记
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (1) caustics\
  • (1)虚拟机的安装与使用,linux系统安装
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (力扣题库)跳跃游戏II(c++)
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (一)UDP基本编程步骤
  • (转)Google的Objective-C编码规范
  • .axf 转化 .bin文件 的方法
  • .Mobi域名介绍
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net的DataSet直接与SQL2005交互
  • ::前边啥也没有
  • @在php中起什么作用?