কম্পিউটার

মাইএসকিউএল-এ একটি একক প্রশ্নে দুটি ভিন্ন কলাম গণনা করবেন?


আপনি একটি একক প্রশ্নে দুটি ভিন্ন কলাম গণনা করতে CASE বিবৃতি ব্যবহার করতে পারেন। ধারণাটি বোঝার জন্য প্রথমে একটি টেবিল তৈরি করা যাক। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ।

mysql> create table CountDifferentDemo
   - > (
   - > ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > ProductName varchar(20),
   - > ProductColor varchar(20),
   - > ProductDescription varchar(20)
   - > );
Query OK, 0 rows affected (1.06 sec)

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

প্রশ্নটি নিম্নরূপ

mysql> insert into CountDifferentDemo(ProductName,ProductColor,ProductDescription) values('Product-1','Red','Used');
Query OK, 1 row affected (0.46 sec)
mysql> insert into CountDifferentDemo(ProductName,ProductColor,ProductDescription) values('Product-1','Blue','Used');
Query OK, 1 row affected (0.17 sec)
mysql> insert into CountDifferentDemo(ProductName,ProductColor,ProductDescription) values('Product-2','Green','New');
Query OK, 1 row affected (0.12 sec)
mysql> insert into CountDifferentDemo(ProductName,ProductColor,ProductDescription) values('Product-2','Blue','New');
Query OK, 1 row affected (0.14 sec)
mysql> insert into CountDifferentDemo(ProductName,ProductColor,ProductDescription) values('Product-3','Green','New');
Query OK, 1 row affected (0.21 sec)
mysql> insert into CountDifferentDemo(ProductName,ProductColor,ProductDescription) values('Product-4','Blue','Used');
Query OK, 1 row affected (0.20 sec)

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

প্রশ্নটি নিম্নরূপ

mysql> select *from CountDifferentDemo;

নিম্নলিখিত আউটপুট

+-----------+-------------+--------------+--------------------+
| ProductId | ProductName | ProductColor | ProductDescription |
+-----------+-------------+--------------+--------------------+
|         1 | Product-1   | Red          | Used               |
|         2 | Product-1   | Blue         | Used               |
|         3 | Product-2   | Green        | New                |
|         4 | Product-2   | Blue         | New                |
|         5 | Product-3   | Green        | New                |
|         6 | Product-4   | Blue         | Used               |
+-----------+-------------+--------------+--------------------+
6 rows in set (0.01 sec)

এখানে একটি একক ক্যোয়ারীতে দুটি ভিন্ন কলাম গণনা করার জন্য কোয়েরি রয়েছে যেমন আমরা একটি নির্দিষ্ট রঙ "লাল" এবং বিবরণ "নতুন"

এর উপস্থিতি গণনা করছি।
mysql> select ProductName,
   - > SUM(CASE WHEN ProductColor = 'Red' THEN 1 ELSE 0 END) AS Color,
   - > SUM(CASE WHEN ProductDescription = 'New' THEN 1 ELSE 0 END) AS Desciption
   - > from CountDifferentDemo
   - > group by ProductName;

নিম্নলিখিত আউটপুট

+-------------+-------+------------+
| ProductName | Color | Desciption |
+-------------+-------+------------+
| Product-1   |     1 |          0 |
| Product-2   |     0 |          2 |
| Product-3   |     0 |          1 |
| Product-4   |     0 |          0 |
+-------------+-------+------------+
4 rows in set (0.12 sec)

  1. মাইএসকিউএল-এর বিভিন্ন টেবিল থেকে গণনার যোগফল পেতে একটি একক প্রশ্ন?

  2. একক ক্যোয়ারীতে একসাথে একাধিক কলাম সাজাতে MySQL ক্যোয়ারী

  3. MySQL এ দুটি ভিন্ন কলাম ব্যবহার করে কাস্টম বাছাই?

  4. একটি একক MySQL ক্যোয়ারী দিয়ে দুটি কলাম আপডেট করুন