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

एकाधिक कॉलम द्वारा ग्रुप करने के लिए MySQL क्वेरी

<घंटा/>

आप एकाधिक कॉलम द्वारा ग्रुप करने के लिए IF() का उपयोग कर सकते हैं। अवधारणा को समझने के लिए, आइए एक तालिका बनाएं। तालिका बनाने की क्वेरी इस प्रकार है

mysql> टेबल बनाएं MultipleGroupByDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> CustomerId int, -> ProductName varchar(100) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.59 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> एकाधिक ग्रुपबायडेमो (ग्राहक आईडी, उत्पाद नाम) मान (1000, 'उत्पाद -1') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) MySQL> एकाधिक समूहबायडेमो (ग्राहक आईडी, उत्पाद नाम) मानों में डालें (1001, 'उत्पाद') -2'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> एकाधिक समूहबायडेमो (ग्राहक आईडी, उत्पाद नाम) मान (1001, 'उत्पाद -2') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकेंड) MySQL> में डालें एकाधिक समूहबायडेमो (ग्राहक आईडी, उत्पाद नाम) मान (1001, 'उत्पाद -2'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> एकाधिक समूहबायडेमो (ग्राहक आईडी, उत्पाद नाम) मानों में डालें (1002, 'उत्पाद -3'); क्वेरी ठीक है , 1 पंक्ति प्रभावित (0.09 सेकंड) mysql> एकाधिक समूहबायडेमो (ग्राहक आईडी, उत्पाद नाम) मान (1002, 'उत्पाद -3') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकेंड) MySQL> एकाधिक समूहबायडेमो (ग्राहक आईडी, उत्पाद नाम) मानों में डालें (1003,'उत्पाद-4');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> MultiGroupByDemo से *चुनें;

आउटपुट इस प्रकार है

+-----+---------------+---------------+| आईडी | ग्राहक आईडी | उत्पाद का नाम |+----+---------------+-------------+| 1 | 1000 | उत्पाद-1 || 2 | 1001 | उत्पाद-2 || 3 | 1001 | उत्पाद-2 || 4 | 1001 | उत्पाद-2 || 5 | 1002 | उत्पाद-3 || 6 | 1002 | उत्पाद-3 || 7 | 1003 | उत्पाद-4 |+----+------------+------------+7 पंक्तियाँ सेट में (0.00 सेकंड)

यहाँ एक से अधिक स्तंभों के आधार पर समूह की क्वेरी है

mysql> ग्राहक आईडी चुनें, अगर (उत्पाद नाम ='उत्पाद -2', 1, 0) -> एकाधिक समूहबायडेमो से -> उत्पाद नाम से समूह, ग्राहक आईडी;

निम्न आउटपुट है

<पूर्व>+---------------+-------------------------------- ------+| ग्राहक आईडी | अगर (उत्पाद का नाम ='उत्पाद -2', 1, 0) |+---------------+--------------------- -------------------+| 1000 | 0 || 1001 | 1 || 1002 | 0 || 1003 | 0 |+---------------+------------------------------------------------ -----+4 पंक्तियाँ सेट में (0.00 सेकंड)

यहां एक वैकल्पिक क्वेरी है

mysql> CustomerId द्वारा एकाधिकGroupByDemo समूह से CustomerId,MAX(IF(ProductName ='Product-2', 1,0)) चुनें;

निम्न आउटपुट है

<पूर्व>+---------------+-------------------------------- --------+| ग्राहक आईडी | MAX(IF(ProductName ='Product-2', 1,0)) |+---------------+--------------------- -----------------------+| 1000 | 0 || 1001 | 1 || 1002 | 0 || 1003 | 0 |+---------------+------------------------------------------------ --------+4 पंक्तियाँ सेट में (0.00 सेकंड)
  1. - एकाधिक कॉलम के साथ MySQL एकाधिक COUNT?

    आप IF() के साथ एक समग्र फ़ंक्शन SUM() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable(FirstName varchar(100), LastName varchar(100));क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (2.80 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (सैम, स्मिथ)

  1. - एक एकल MySQL क्वेरी में कॉलम प्रकार के एकाधिक कॉलम कैसे बदलें?

    एकल MySQL क्वेरी में कॉलम प्रकार के कई कॉलम को बदलने के लिए, सिंटैक्स इस प्रकार है - टेबल बदलें yourTableNameकॉलम को संशोधित करें अपना कॉलमनाम 1 yourDataType1, कॉलम को संशोधित करें अपना कॉलमनाम 2 yourDataType2,..N; आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable(Id varchar(100), FirstName text, La

  1. - एक ही क्वेरी में एक साथ कई कॉलम सॉर्ट करने के लिए MySQL क्वेरी

    एकाधिक कॉलम सॉर्ट करने के लिए, ORDER BY GREATEST() का उपयोग करें। आइए पहले एक − . बनाएं );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.79 सेकंड) इंसर्ट का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1395 मानों में डालें(10,20,30);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) − . का चयन करके तालिका स