কম্পিউটার

যোগফল যদি সমস্ত সারি শূন্য না হয় তবে মাইএসকিউএলে নাল ফেরত দেয়?


আপনি GROUP BY HAVING clause এর সাহায্যে এটি অর্জন করতে পারেন। সিনট্যাক্স নিম্নরূপ -

SELECT yourColumnName1,
   SUM(yourCoumnName2)
   from yourTableName
   GROUP BY yourColumnName1
HAVING COUNT(yourCoumnName2) = COUNT(*);

উপরের সিনট্যাক্স বুঝতে, আসুন একটি টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -

mysql> create table SumDemo
   -> (
   -> Id int,
   -> Amount int
   -> );
Query OK, 0 rows affected (0.58 sec)

সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ -

mysql> insert into SumDemo values(1,200);
Query OK, 1 row affected (0.22 sec)
mysql> insert into SumDemo values(2,100);
Query OK, 1 row affected (0.19 sec)
mysql> insert into SumDemo values(2,NULL);
Query OK, 1 row affected (0.14 sec)
mysql> insert into SumDemo values(1,300);
Query OK, 1 row affected (0.16 sec)
mysql> insert into SumDemo values(2,100);
Query OK, 1 row affected (0.17 sec)
mysql> insert into SumDemo values(1,500);
Query OK, 1 row affected (0.16 sec)

একটি নির্বাচন বিবৃতি ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

mysql> select *from SumDemo;

আউটপুট

+------+--------+
| Id   | Amount |
+------+--------+
|    1 |    200 |
|    2 |    100 |
|    2 |   NULL |
|    1 |    300 |
|    2 |    100 |
|    1 |    500 |
+------+--------+
6 rows in set (0.00 sec)

এখানে যোগফল পেতে ক্যোয়ারী আছে যদি সমস্ত সারি শূন্য না হয় অন্যথায় নাল ফেরত দেয়। প্রশ্নটি নিম্নরূপ -

mysql> select Id,
   -> SUM(Amount)
   -> from SumDemo
   -> GROUP BY ID
   -> HAVING COUNT(Amount) = COUNT(*);

নিম্নলিখিত আউটপুট হয়. যেহেতু id 2 NULL, তাই এর কোনো মান যোগফলের সাথে যোগ করা হবে না।

সুতরাং, Id 1 এর সমস্ত মান যোগ করা হবে যেমন 200 + 300 + 500 =1000 নীচে দেখানো হিসাবে −

+------+-------------+
| Id   | SUM(Amount) |
+------+-------------+
|    1 |        1000 |
+------+-------------+
1 row in set (0.09 sec)

  1. একক সারিতে সমস্ত আইটেম ফেরত দিতে MySQL ক্যোয়ারী

  2. MySQL ক্যোয়ারী সারি মান সমষ্টি এবং ফলাফল বাছাই?

  3. শূন্য হলে একটি কলাম A আপডেট করুন, অন্যথায় কলাম B আপডেট করুন, অন্যথায় উভয় কলাম শূন্য না হলে MySQL দিয়ে কিছুই করবেন না

  4. MySQL ক্যোয়ারী ইতিবাচক মান আছে সারি জন্য TRUE ফেরত দিতে?