记一道巨简单,但是我没有答上来的Sql面试题

前些阵子觉得工作不是太开心,加上工资待遇也一般,就想着出去碰碰运气,面面试。看一看自己目前的水平到底如何,处于一个什么级别。

下面是我在面试过程中被问到的一道简单的SQL面试题

题目是 : 要把大象扔冰箱拢共分几步?

这里写图片描述

当然这不是面试二人转演员,所以题目也肯定不是这个了。。。

咳咳,下面开始说正经的…


面试题是这样的 :

一个学生表(单表),里面有IDnamescoresex 这4个字段,请用2列表示该班级本次考试所有的及格人数之和不及格人数之和

由于当时比较紧张( PS : 其实是我数据库学的太垃圾 ),我的脑子一片浆糊,于是乎我就没答上来(不要笑我),于是乎我也就没通过面试。

数据库结构如下:

IDNAMESEXSCORE
1小明25
2小红99
3生番59
4小强58
5二丫48
6生子74
7劲仔97
8小马88
现将我目前能够想到的三种Sql写法记录一下:

1、利用SUM()函数进行数字累加

SELECT SUM(CASE WHEN score >= 60 THEN 1 ELSE 0 END) AS pass , SUM(CASE WHEN score < 60 THEN 1 ELSE 0 END) AS fail FROM student

2、利用IF()函数进行分数判断并累加

SELECT SUM(if(score >= 60,1,0)) AS pass , SUM(if(score < 60,1,0) AS fail FROM student

3、这是最笨的方法,使用两个子查询的方式进行COUNT()统计

SELECT (SELECT COUNT() FROM student WHERE score >= 60) AS pass , (SELECT COUNT() FROM student WHERE score < 60) AS pass

行了,这道渣的要命的题就先记录到这吧,欢迎补充!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值