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

MySQL में अल्पविराम से अलग किए गए फ़ील्ड से मानों की गणना करें?


आप MySQL से CHAR_LENGTH() विधि का उपयोग करके अल्पविराम से अलग किए गए फ़ील्ड से मानों की गणना कर सकते हैं। वाक्य रचना इस प्रकार है -

चुनें *, (CHAR_LENGTH(yourColumnName) - CHAR_LENGTH(REPLACE(yourColumnName, ',',''')) + 1) आपकेTableName से किसी भी VariableName के रूप में;

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> टेबल बनाएं CountValuesCommaSeparated -> ( -> Id int NOT NULL AUTO_INCREMENT, -> CommaSeparatedValue text, -> PRIMARY KEY(Id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.76 सेकंड)

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

mysql> CountValuesCommaSeparated(CommaSeparatedValue)values('101,104,1900,46675,7895') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> CountValuesCommaSeparated(CommaSeparatedValue)values('1010,18949,37465) में डालें '); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> काउंटवैल्यू में डालें CommaSeparatedValue)मान ('4757,457587,48586,378575,3874765,487565');क्वेरी ठीक, 1 पंक्ति प्रभावित (0.26 सेकंड)

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

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

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

<पूर्व>+-------+------------------------------------------ +| आईडी | अल्पविराम सेपरेटेड वैल्यू |+-----+------------------------------------------+ | 1 | 101,104,1900,46675,7895 || 2 | 1010,18949,37465 || 3 | 2010,1201,2743874,7485 || 4 | 4757,457587,48586,378575,3874765,487565 |+----+-------------------------------- ---------+4 पंक्तियाँ सेट में (0.00 सेकंड)

अल्पविराम से अलग किए गए फ़ील्ड से मान गिनने के लिए क्वेरी यहां दी गई है:

mysql> चुनें *, -> (CHAR_LENGTH(CommaSeparatedValue) -CHAR_LENGTH(REPLACE(CommaSeparatedValue, ',', '')) + 1) TotalValue के रूप में -> CountValuesCommaSeparated से;

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

<पूर्व>+-------+------------------------------------------ +---------------+| आईडी | अल्पविराम सेपरेटेड वैल्यू | टोटलवैल्यू |+----+-------------------------------------------+ ------------+| 1 | 101,104,1900,46675,7895 | 5 || 2 | 1010,18949,37465 | 3 || 3 | 2010,1201,2743874,7485 | 4 || 4 | 4757,457587,48586,378575,3874765,487565 | 6 |+----+-------------------------------------------+ ------------+4 पंक्तियाँ सेट में (0.00 सेकंड)
  1. MySQL क्वेरी अल्पविराम की फ़ील्ड मान से गिनने के लिए?

    निम्नलिखित वाक्य रचना है - लंबाई चुनें(yourColumnName) - length(replace(yourColumnName, ,, )) as anyAliasName from yourTableName; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (6.75 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1510 मान (90,97,101,190) में

  1. MySQL में किसी फ़ील्ड से आंशिक डेटा हटाना?

    आंशिक डेटा हटाने के लिए, REPLACE() के साथ UPDATE कमांड का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.38 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1583 मानों में डालें (=Candy,2000 DemoTable1583 मानों में डालें ( =Lucky29,10000);क्वेरी

  1. MySQL क्वेरी संबंधित कॉलम मान से केवल कोई मान नहीं लौटाने के लिए

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1829 (नाम varchar(20), istopper ENUM(YES,NO) );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1829 मानों में डालें (डेविड, हां); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) चयन कथन का उ