टेबल बनाएं
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 के लिए एक पंक्ति