SQL统计求和
- 需求
- SQL写法
- 业务SQL运行结果
需求
现在有一张学生Student表,表中有字段语文Chinese、数学Math、英语English、化学chemistry、物理physics等成绩,每科成绩可以分为ABC三个等级,现在要求:
1.统计出全部成绩为C的学生的人数;
2.统计出其中有一科成绩为A的学生的人数!(注:此需求是胡编乱造的,不一定和生活规律一致,忘忽略!)
即:T_STUDENT
ID | NAME | CHINESE | MATH | ENGLISH | CHEMISTRY | PHYSICS |
---|---|---|---|---|---|---|
qwsdefrbfg | 小明 | A | C | D | D | A |
sqwefcreh1 | 小红 | B | B | B | B | B |
swegtrjn1s5 | 小花 | B | A | C | C | B |
dwegfjyuk4s | 小美 | A | A | A | A | A |
3ederb4sdq | 小傻 | C | C | C | C | C |
wedf3334sq | 小瓜 | C | C | C | C | C |
SQL写法
为了不浪费大家的时间,本人已经准备好了这一套流程的SQL供大家使用测试!
1.建表SQL
复制代码
1
2
3
4
5
6
7
8
9
10
11
12CREATE TABLE T_STUDENT ( ID VARCHAR(32) NOT NULL, NAME VARCHAR(12) NOT NULL, CHINESE CHAR(1) NOT NULL, MATH CHAR(1) NOT NULL, ENGLISH CHAR(1) NOT NULL, CHEMISTRY CHAR(1) NOT NULL, PHYSICS CHAR(1) NOT NULL, PRIMARY KEY(ID) )
2.导入数据
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66INSERT INTO T_STUDENT ( ID, NAME, CHINESE, MATH, ENGLISH, CHEMISTRY, PHYSICS ) VALUES ( 'qwsdefrbfg', '小明', 'A', 'C', 'D', 'D', 'A' ), ( 'sqwefcreh1', '小红', 'B', 'B', 'B', 'B', 'B' ), ( 'swegtrjn1s5', '小花', 'B', 'A', 'C', 'C', 'B' ), ( 'dwegfjyuk4s', '小美', 'A', 'A', 'A', 'A', 'A' ), ( '3ederb4sdq', '小傻', 'C', 'C', 'C', 'C', 'C' ), ( 'wedf3334sq', '小瓜', 'C', 'C', 'C', 'C', 'C' )
3.业务SQL
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22SELECT SUM ( CASE WHEN CHINESE||MATH||ENGLISH||CHEMISTRY||PHYSICS='CCCCC' THEN 1 ELSE 0 END ) COUNT_ALL_TO_C, SUM ( CASE WHEN CHINESE='A' OR MATH='A' OR ENGLISH='A' OR CHEMISTRY='A' OR PHYSICS='A' THEN 1 ELSE 0 END ) COUNT_EXIST_TO_A FROM T_STUDENT
4.删表SQL
复制代码
1
2DROP TABLE T_STUDENT
业务SQL运行结果
COUNT_ALL_TO_C | COUNT_EXIST_TO_A |
---|---|
2 | 3 |
最后
以上就是柔弱小刺猬最近收集整理的关于SQL统计求和需求SQL写法业务SQL运行结果的全部内容,更多相关SQL统计求和需求SQL写法业务SQL运行结果内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复