Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL ประเมินอย่างไรเมื่อฉันใช้นิพจน์เงื่อนไขภายในฟังก์ชัน SUM()


อย่างที่เราทราบดีว่าโดยใช้นิพจน์เงื่อนไขภายในฟังก์ชัน SUM() เราจะได้รับจำนวนแถวที่ตรงตามเงื่อนไข ดังนั้น ในกรณีนี้ MySQL จะประเมินเป็น 1 ทุกครั้งที่เงื่อนไขเป็นจริงและเป็น 0 ในแต่ละครั้งที่เป็นเท็จ

เพื่อให้เข้าใจ ให้พิจารณาตัวอย่างต่อไปนี้ของตาราง 'พนักงาน' โดยมีรายละเอียดดังต่อไปนี้ -

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 ตำแหน่ง