众所周知,通过在SUM()
函数中使用条件表达式,我们可以获得满足条件的行数。因此,在这种情况下,每当条件为true时,MySQL便求值为1,而每当条件为false时MySQL便求为0。
要理解它,请请看以下表“ employee”的示例,其中包含以下详细信息-
mysql> Select * from Employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav | 50000 | | 2 | Rahul | 20000 | | 3 | Advik | 25000 | | 4 | Aarav | 65000 | | 5 | Ram | 20000 | | 6 | Mohan | 30000 | | 7 | Aryan | NULL | | 8 | Vinay | NULL | +----+--------+--------+ 8 rows in set (0.00 sec)
现在,假设如果我们想知道薪水大于20000的行总数,则可以在SUM()
函数中使用条件表达式,如下所示:
mysql> Select SUM(Salary>20000) from employee568; +-------------------+ | SUM(Salary>20000) | +-------------------+ | 4 | +-------------------+ 1 row in set (0.00 sec)
以上结果集显示,有4名员工的薪水超过20000。