尝试使用LENGTH
代替CHAR_LENGTH
和字符串截断空格,如:
SELECT name,
ROUND (
(
LENGTH(description)
- LENGTH(REPLACE(description, "is", ""))
)/LENGTH("is")
) AS count
FROM TableName
更新
要算多的话,你可以写呈三角ROUND
查询,并把它们相加,如:
SELECT name,
SELECT(
ROUND((LENGTH(description)- LENGTH(REPLACE(description, "is", "")))/LENGTH("is")) +
ROUND((LENGTH(description)- LENGTH(REPLACE(description, "This", "")))/LENGTH("This")) +
ROUND((LENGTH(description)- LENGTH(REPLACE(description, "That", "")))/LENGTH("That"))
) AS `count`
FROM TableName
更新2
这里的查询来获取算作单独列:
SELECT name,
ROUND((LENGTH(description)- LENGTH(REPLACE(description, "is", "")))/LENGTH("is")) AS 'is count',
ROUND((LENGTH(description)- LENGTH(REPLACE(description, "this", "")))/LENGTH("this")) AS 'this count',
ROUND((LENGTH(description)- LENGTH(REPLACE(description, "by", "")))/LENGTH("by")) AS 'by count'
FROM表名
更新3
下面是查询来获取单词汇总数:
SELECT 'is', SUM(ROUND((LENGTH(description)- LENGTH(REPLACE(description, "is", "")))/LENGTH("is"))) AS `count` FROM TableName
UNION
SELECT 'this', SUM(ROUND((LENGTH(description)- LENGTH(REPLACE(description, "this", "")))/LENGTH("this"))) AS `count` FROM TableName
UNION
SELECT 'by', SUM(ROUND((LENGTH(description)- LENGTH(REPLACE(description, "by", "")))/LENGTH("by"))) AS `count` FROM TableName
这里的SQL Fiddle。
将所期望的结果是什么样的?而看到https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查询 – Strawberry
看到有一个编辑按钮 – Strawberry
字| S计数 -s是| S 10 -s如何| S 15 -s得s | 20 –