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 सेकंड) − . का चयन करके तालिका स