Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

टेक्स्ट फ़ील्ड के शब्द गणना आँकड़े निर्धारित करने के लिए SQL का उपयोग करना

MySQL की टेक्स्ट हैंडलिंग क्षमताएं आप जो चाहते हैं उसके लिए पर्याप्त नहीं हैं। एक संग्रहीत कार्य एक विकल्प है, लेकिन शायद धीमा होगा। MySQL के भीतर डेटा को संसाधित करने के लिए आपकी सबसे अच्छी शर्त एक जोड़ना है। उपयोगकर्ता परिभाषित फ़ंक्शन . यदि आप वैसे भी MySQL का एक नया संस्करण बनाने जा रहे हैं, तो आप एक मूल कार्य

डीबी के बाहर डेटा को संसाधित करने का "सही" तरीका है क्योंकि डीबी भंडारण के लिए हैं, प्रसंस्करण के लिए नहीं हैं, और कोई भी भारी प्रसंस्करण डीबीएमएस पर बहुत अधिक भार डाल सकता है। इसके अतिरिक्त, MySQL के बाहर शब्द गणना की गणना करना एक शब्द के रूप में मायने रखता है की परिभाषा को बदलना आसान बनाता है। डीबी में शब्द गणना को संग्रहीत करने और दस्तावेज़ बदलने पर इसे अपडेट करने के बारे में कैसे?

उदाहरण संग्रहीत कार्य:

DELIMITER $$
CREATE FUNCTION wordcount(str LONGTEXT)
       RETURNS INT
       DETERMINISTIC
       SQL SECURITY INVOKER
       NO SQL
  BEGIN
    DECLARE wordCnt, idx, maxIdx INT DEFAULT 0;
    DECLARE currChar, prevChar BOOL DEFAULT 0;
    SET maxIdx=char_length(str);
    SET idx = 1;
    WHILE idx <= maxIdx DO
        SET currChar=SUBSTRING(str, idx, 1) RLIKE '[[:alnum:]]';
        IF NOT prevChar AND currChar THEN
            SET wordCnt=wordCnt+1;
        END IF;
        SET prevChar=currChar;
        SET idx=idx+1;
    END WHILE;
    RETURN wordCnt;
  END
$$
DELIMITER ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubuntu 12.04 (सटीक पैंगोलिन) पर MySQL रिलेशनल डेटाबेस परिनियोजित करें

  2. MySQL में एक महीने में दिनों की संख्या कैसे प्राप्त करें

  3. सिद्धांत क्वेरी भाषा प्रति समूह अधिकतम/नवीनतम पंक्ति प्राप्त करें

  4. MySQL/MariaDB में एक डेटाबेस को कैसे डिलीट करें

  5. Php वेरिएबल्स का उपयोग करके एक डायनामिक mysql क्वेरी बनाएं