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

क्या 'DISTINCT' और 'COUNT' क्वेरी को संयोजित करना संभव है, ताकि मैं देख सकूं कि MySQL टेबल कॉलम में प्रत्येक विशिष्ट मान कितनी बार आता है?

GROUP BY और COUNT(*) के साथ प्रत्येक विशिष्ट मान की आवृत्ति गिनना

हां, आप COUNT(*) एग्रीगेट फंक्शन के साथ GROUP BY क्लॉज का उपयोग कर सकते हैं। पहले टेबल बनाएं:

mysql> create table DemoTable1425 ( JoiningYear int ); Query OK, 0 rows affected (0.76 sec)

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

mysql> insert into DemoTable1425 values(2000); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1425 values(2010); Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable1425 values(2015); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1425 values(2000); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1425 values(2010); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1425 values(2000); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1425 values(2010); Query OK, 1 row affected (0.10 sec)

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

mysql> select * from DemoTable1425;

आउटपुट:

+-------------+ | JoiningYear | +-------------+ | 2000        | | 2010        | | 2015        | | 2000        | | 2010        | | 2000        | | 2010        | +-------------+ 7 rows in set (0.00 sec)

प्रत्येक विशिष्ट मान कितनी बार आता है यह देखने की क्वेरी:

mysql> select JoiningYear, count(*) from DemoTable1425 group by JoiningYear;

परिणाम:

+-------------+----------+ | JoiningYear | count(*) | +-------------+----------+ | 2000        | 3        | | 2010        | 3        | | 2015        | 1        | +-------------+----------+ 3 rows in set (0.00

व्याख्या: GROUP BY JoiningYear समान वर्षों को ग्रुप करता है। COUNT(*) प्रत्येक ग्रुप में पंक्तियों की गिनती करता है। परिणाम प्रत्येक विशिष्ट वर्ष और उसकी आवृत्ति दिखाता है। यह DISTINCT + COUNT संयोजन का मानक तरीका है। ध्यान दें: COUNT(DISTINCT JoiningYear) विशिष्ट मानों की संख्या (3) देगा, प्रत्येक की गिनती नहीं।

  1. - MySQL में विशिष्ट मान और उनकी गिनती कैसे वापस करें

    केवल विशिष्ट मान वापस करने के लिए, GROUP BY क्लॉज का उपयोग करें। पहले एक टेबल बनाते हैं: mysql> create table DemoTable754 (ProductPrice int); Query OK, 0 rows affected (0.48 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable754 values(200); Query OK, 1 ro

  1. - MySQL में केवल 3 संभावित मानों वाले कॉलम के साथ टेबल कैसे बनाएं

    इसके लिए ENUM डेटा प्रकार का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable838(Color ENUM(RED,GREEN,BLUE)); Query OK, 0 rows affected (0.67 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable838 values(RED); Query OK, 1 row affe

  1. - MySQL में बूलियन कॉलम बनाएं और ALTER से डिफ़ॉल्ट मान 1 असाइन करें

    ALTER TABLE के साथ मौजूदा कॉलम को BOOLEAN में बदलना और डिफ़ॉल्ट सेट करना मौजूदा कॉलम को बूलियन प्रकार में बदलकर डिफ़ॉल्ट मान 1 सेट करने के लिए ALTER TABLE ... CHANGE के साथ DEFAULT 1 का उपयोग करें। टेबल निर्माण CREATE TABLE DemoTable ( isAdult INT ); Query OK, 0 rows affected (1.39 sec) कॉलम