使用条件对值进行计数并在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 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短