使用条件对值进行计数并在MySQL的不同列中显示结果?
让我们首先创建一个表-
mysql> create table DemoTable1485
-> (
-> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName varchar(20),
-> StudentSubject varchar(20)
-> );使用插入命令在表中插入一些记录-
mysql> insert into DemoTable1485(StudentName,StudentSubject) values('Chris','MySQL');
mysql> insert into DemoTable1485(StudentName,StudentSubject) values('Robert','MongoDB');
mysql> insert into DemoTable1485(StudentName,StudentSubject) values('Robert','MongoDB');
mysql> insert into DemoTable1485(StudentName,StudentSubject) values('Chris','Java');使用select语句显示表中的所有记录-
mysql> select * from DemoTable1485;
这将产生以下输出-
+-----------+-------------+----------------+ | StudentId | StudentName | StudentSubject | +-----------+-------------+----------------+ | 1 | Chris | MySQL | | 2 | Robert | MongoDB | | 3 | Robert | MongoDB | | 4 | Chris | Java | +-----------+-------------+----------------+ 4 rows in set (0.00 sec)
这是根据条件对值进行计数的查询-
mysql> select StudentSubject,
-> sum(case when StudentName = 'Chris' THEN 1 ELSE 0 END) Chris_Count,
-> sum(case when StudentName = 'Robert' THEN 1 ELSE 0 END) Robert_Count
-> from DemoTable1485
-> group by StudentSubject;这将产生以下输出-
+----------------+-------------+--------------+ | StudentSubject | Chris_Count | Robert_Count | +----------------+-------------+--------------+ | MySQL | 1 | 0 | | MongoDB | 0 | 2 | | Java | 1 | 0 | +----------------+-------------+--------------+ 3 rows in set (0.00 sec)
热门推荐
10 生活祝福语长辈的话简短
11 饭桌祝福语长辈文案简短
12 送弟妹住院祝福语简短
13 给弟弟敬茶祝福语简短
14 学生老师离职祝福语简短
15 家庭恩爱祝福语简短英文
16 疫情对妈妈祝福语简短
17 自己祝福语简短唯美短句
18 简短的古风生日祝福语