কম্পিউটার

কোন মিল সারি না থাকলে আমি কিভাবে MySQL SUM() ফাংশনের আউটপুট NULL এর পরিবর্তে 0 তে কাস্টমাইজ করতে পারি?


যেমন আমরা জানি যে SUM() ফাংশনটি NULL রিটার্ন করে যদি কোন মিল সারি না থাকে তবে কখনও কখনও আমরা এটি NULL এর পরিবর্তে শূন্য দিতে চাই। এই উদ্দেশ্যে, আমরা MySQL COALESCE() ফাংশন ব্যবহার করতে পারি যা দুটি আর্গুমেন্ট গ্রহণ করে এবং প্রথম আর্গুমেন্ট NULL হলে দ্বিতীয় আর্গুমেন্ট ফেরত দেয়, অন্যথায়, এটি প্রথম আর্গুমেন্ট ফেরত দেয়। উপরের ধারণাটি বোঝার জন্য, একটি 'কর্মচারী_টিবিএল' টেবিল বিবেচনা করুন, যেটিতে নিম্নলিখিত রেকর্ড রয়েছে -

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)

এখন, MySQL SUM() ফাংশন 0 প্রদান করে যখন আমরা 'মোহন' দ্বারা টাইপ করা মোট পৃষ্ঠার সংখ্যা খুঁজে পেতে SUM() এর সাথে COALESCE ফাংশন ব্যবহার করি, যে নামটি 'নাম' কলামে নেই −

mysql> SELECT COALESCE(SUM(daily_typing_pages),0)AS ‘SUM(daily_typing_pages)’FROM employee_tbl WHERE Name = ‘Mohan’;
+-------------------------+
| SUM(daily_typing_pages) |
+-------------------------+
|           0             |
+-------------------------+
1 row in set (0.00 sec)

  1. যদি কোনো মান পাওয়া না যায় তাহলে '0' ফেরত দিতে আমি মাইএসকিউএল-এ SUM ফাংশন কীভাবে পাব?

  2. আমি কিভাবে আমার MySQL টেবিল কলামের নাম পেতে পারি?

  3. মাইএসকিউএল-এ আমি যে সূচীগুলি সেট আপ করেছি তা আমি কীভাবে দেখতে পারি?

  4. আমরা কি MySQL WHERE ক্লজে একটি SUM() ফাংশনের ফলাফল ব্যবহার করতে পারি?