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

एसक्यूएल वाक्य रचना में mysql गिनती शब्द

यह प्रश्न आपके प्रश्न में @otis द्वारा:

mysql> select * from test;
+----+------------------------------+
| id | sentence                     |
+----+------------------------------+
|  0 | Hello World                  |
|  1 | Hello World                  |
|  2 | Mary had a little lamb       |
|  3 | Her fleece was white as snow |
|  4 | Everywhere that mary went    |
|  5 | Umm, sheep followed her      |
+----+------------------------------+
6 rows in set (0.00 sec)

mysql> SELECT sentence, wordcount(sentence) as "Words" from test;
+------------------------------+-------+
| sentence                     | Words |
+------------------------------+-------+
| Hello World                  |     2 |
| Hello World                  |     2 |
| Mary had a little lamb       |     5 |
| Her fleece was white as snow |     6 |
| Everywhere that mary went    |     4 |
| Umm, sheep followed her      |     4 |
+------------------------------+-------+
6 rows in set (0.02 sec)

फ़ंक्शन को काम करने के लिए, आपको MySQL में फ़ंक्शन की घोषणा को निष्पादित करने की आवश्यकता है। यह किसी अन्य क्वेरी को निष्पादित करने जैसा है:

mysql> DELIMITER $$
mysql> CREATE FUNCTION wordcount(str TEXT)
            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);
         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
     $$
Query OK, 0 rows affected (0.10 sec)

mysql> 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. CSV को पार्स करें और Grails में Mysql डेटाबेस में निर्यात करें

  2. बड़े डेटासेट को यादृच्छिक बनाना

  3. इकाई फ्रेमवर्क एक बहुवचन तालिका नाम बनाता है, लेकिन दृश्य एकवचन तालिका नाम की अपेक्षा करता है?

  4. रेल एक MySQL कथन कैसे बनाते हैं?

  5. एक्सेल वीबीए mysql एडो कनेक्शन