কম্পিউটার টিউটোরিয়াল

MySQL SUM() ফাংশন কোনো ম্যাচিং সারি না থাকলে কী রিটার্ন করে?

যদি MySQL SUM() ফাংশন এমন একটি SELECT স্টেটমেন্টসহ ব্যবহার করা হয় যা কোনো ম্যাচিং সারি রিটার্ন করে না, তবে মূল্যায়ন করার কিছুই নেই এবং এটি আউটপুট হিসেবে NULL রিটার্ন করে। কখনো কখনো আমরা মনে করি এটিকে ০ রিটার্ন করা উচিত কিন্তু ০ নিজেই একটি সংখ্যা এবং কোনো ম্যাচিং সারি নেই সেটির জন্য ০ রিটার্ন করা উপযুক্ত নয়, তাই এটি NULL রিটার্ন করে। 'employee_tbl' টেবিল বিবেচনা করুন, যাতে নিচের রেকর্ডগুলো আছে:

mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+
| id   | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
| 1    | John | 2007-01-24 | 250                |
| 2    | Ram  | 2007-05-27 | 220                |
| 3    | Jack | 2007-05-06 | 170                |
| 3    | Jack | 2007-04-06 | 100                |
| 4    | Jill | 2007-04-06 | 220                |
| 5    | Zara | 2007-06-06 | 300                |
| 5    | Zara | 2007-02-06 | 350                |
+------+------+------------+--------------------+
7 rows in set (0.00 sec)

এখন, 'Mohan' নামের ব্যক্তি টাইপ করা মোট পৃষ্ঠা বের করার জন্য নিচের কোয়েরি চালালে MySQL SUM() ফাংশন NULL রিটার্ন করবে, কারণ 'Name' কলামে 'Mohan' নামটি নেই:

mysql> SELECT SUM(daily_typing_pages) FROM employee_tbl WHERE Name = 'Mohan';
+-------------------------+
| SUM(daily_typing_pages) |
+-------------------------+
| NULL                    |
+-------------------------+
1 row in set (0.00 sec)
  1. Java-এ MySQL PreparedStatement দিয়ে SELECT কোয়েরি চালানো

  2. MySQL-এ FIND_IN_SET() ব্যবহার করে নির্দিষ্ট সারি নির্বাচন করা

  3. MySQL-এ নির্দিষ্ট ভ্যালু দিয়ে শুরু হওয়া রেকর্ড নির্বাচন করা

  4. MySQL-এ CONCAT_WS ব্যবহার করে শর্তসাপেক্ষ রো সিলেক্ট করা