Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में GROUP BY करके केवल गैर-खाली कॉलम मान प्रदर्शित करें

टेबल बनाएं

mysql> create table DemoTable (
    -> Id varchar(100),
    -> Message varchar(200)
    -> );
Query OK, 0 rows affected (1.17 sec)

रिकॉर्ड्स डालें

mysql> insert into DemoTable values('1','');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values('1','Hi');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values('2','Hello');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('3','Awesome');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('3','Good Morning');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('2',NULL);
Query OK, 1 row affected (0.15 sec)

सभी रिकॉर्ड्स देखें

mysql> select * from DemoTable;
+------+--------------+
| Id   | Message      |
+------+--------------+
| 1    |              |
| 1    | Hi           |
| 2    | Hello        |
| 3    | Awesome      |
| 3    | Good Morning |
| 2    | NULL         |
+------+--------------+
6 rows in set (0.00 sec)

GROUP BY और पहला गैर-खाली मान चुनने का क्वेरी

mysql> select Id, min(Message) from DemoTable
    -> where Message IS NOT NULL and length(Message) > 0
    -> group by Id;

आउटपुट:

+------+--------------+
| Id   | min(Message) |
+------+--------------+
| 1    | Hi           |
| 2    | Hello        |
| 3    | Awesome      |
+------+--------------+
3 rows in set (0.06 sec)

व्याख्या:

  • WHERE Message IS NOT NULL AND length(Message) > 0 - खाली स्ट्रिंग और NULL दोनों को बाहर करता है
  • MIN(Message) - वर्णानुक्रम में पहला मान लौटाता है (आप MAX() भी उपयोग कर सकते हैं)
  • GROUP BY Id - प्रत्येक Id के लिए एक पंक्ति
  1. - MySQL में कॉलम मानों को अलग टेक्स्ट के साथ जोड़ें और एकल कॉलम में प्रदर्शित करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.93 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(101,Chris); Query OK, 1 row affected (0.25 sec) mysq

  1. - MySQL में NULL और NOT NULL रिकॉर्ड वाले कॉलम से केवल NOT NULL मान प्रदर्शित करें

    इसके लिए आप IS NOT NULL प्रॉपर्टी का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1 ( DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1 values(2019-09-10); Query OK, 1 r

  1. - MySQL में GROUP BY HAVING से डुप्लिकेट कॉलम मान खोजें और प्रदर्शित करें

    किसी कॉलम में डुप्लिकेट मान (एक से अधिक बार आने वाले) खोजने के लिए GROUP BY और 1 का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1858 (ModelNumber VARCHAR(50)); डेटा डालें mysql> INSERT INTO DemoTable1858 VALUES(Audi A4), (Audi A6), (Audi A4), (Audi Q5), (Audi R8), (Audi Q5); डुप्लि