當我使用 SUM() 函式中的條件表示式時,MySQL 會如何計算?
我們知道,可以透過在 SUM() 函式中使用條件表示式來獲取滿足條件的行數。因此,在這種情況下,MySQL 在條件為真時每次計算為 1,為假時每次計算為 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。
廣告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP