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

MySQL में GROUP BY और ORDER BY COUNT का उपयोग करके कॉलम में दोहराए गए मानों की गिनती करना

MySQL में GROUP BY और COUNT() का उपयोग करके कॉलम में प्रत्येक विशिष्ट मान की आवृत्ति गिनें और घटते क्रम में क्रमबद्ध करें।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> PostMessage VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.69 sec)
mysql> INSERT INTO DemoTable(PostMessage) VALUES
    -> ('Hi'), ('Hello'), ('Hi'), ('Awesome'), ('Hello'), ('Hi'), ('Awesome');

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

mysql> SELECT * FROM DemoTable;

आउटपुट

+----+-------------+
| Id | PostMessage |
+----+-------------+
| 1  | Hi          |
| 2  | Hello       |
| 3  | Hi          |
| 4  | Awesome     |
| 5  | Hello       |
| 6  | Hi          |
| 7  | Awesome     |
+----+-------------+
7 rows in set (0.00 sec)

प्रति मान गिनती, घटते क्रम में

mysql> SELECT PostMessage, COUNT(Id) FROM DemoTable
    -> GROUP BY PostMessage
    -> ORDER BY COUNT(Id) DESC;

आउटपुट

+-------------+-----------+
| PostMessage | COUNT(Id) |
+-------------+-----------+
| Hi          | 3         |
| Hello       | 2         |
| Awesome     | 2         |
+-------------+-----------+
3 rows in set (0.00 sec)

केवल सर्वाधिक बार आने वाला मान (टॉप 1):

mysql> SELECT PostMessage, COUNT(Id) FROM DemoTable
    -> GROUP BY PostMessage
    -> HAVING COUNT(Id) > 2;

आउटपुट

+-------------+-----------+
| PostMessage | COUNT(Id) |
+-------------+-----------+
| Hi          | 3         |
+-------------+-----------+
1 row in set (0.00 sec)

मुख्य अंतर:

  • WHERE - ग्रुपिंग से पहले पंक्तियाँ फ़िल्टर करता है
  • HAVING - ग्रुपिंग के बाद समूह फ़िल्टर करता है (एग्रीगेट फ़ंक्शन उपयोग कर सकते हैं)

प्रदर्शन: PostMessage पर इंडेक्स GROUP BY को तेज़ करेगा।

  1. - MySQL में MAX() एग्रीगेट फंक्शन का उपयोग करके कॉलम का अधिकतम मान प्राप्त करें

    MySQL MAX() फंक्शन: कॉलम का अधिकतम मान खोजना MAX() एक एग्रीगेट फंक्शन है जो एक कॉलम में सबसे बड़ा मान लौटाता है। यह संख्याओं, तारीखों, और स्ट्रिंग्स (वर्णानुक्रम में अंतिम) पर काम करता है। उदाहरण: ID कॉलम का अधिकतम मान टेबल बनाएं और डेटा डालें: CREATE TABLE DemoTable (Id INT); INSERT INTO DemoTabl

  1. - MySQL में कॉलम के सभी मानों के अंतिम 3 अंकों का योग प्राप्त करें

    RIGHT() फ़ंक्शन के साथ SUM() एग्रीगेट का उपयोग करके प्रत्येक संख्या के अंतिम 3 अंक निकालें और उनका योग करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable (Code INT); Query OK, 0 rows affected (0.77 sec) INSERT INTO DemoTable VALUES(5464322),(90884),(23455644),(4353633); सभी रिकॉर्ड देखना SE

  1. - MySQL में कॉलम मानों को शफ़ल करना

    परिचय MySQL में ORDER BY RAND() का उपयोग करके टेबल की पंक्तियों को यादृच्छिक क्रम में प्राप्त किया जा सकता है, जिससे प्रभावी रूप से कॉलम मान शफ़ल हो जाते हैं। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.91 sec) INSERT INTO DemoTable1557(SubjectName) VALUES(C); Query OK, 1 ro