我正在尝试选择字段的不同子字符串值,并计算该选择中字符的实例数。 我找到了this精彩的帖子,它回答了一半。
所以,到目前为止,我可以在我的领域中计算char的实例,它的效果很好。现在是更难的部分,如果我使用以下方式选择一段字符串:
SELECT DISTINCT SUBSTRING_INDEX(my_field, '-', -1) AS chunk
在这种情况下,我只选择字符串的最后一部分(在最后一个' - '之后的所有部分)。如何将此公式应用于块(尝试计算新字符串中'_'的实例数?:
(LENGTH(chunk) - LENGTH(REPLACE(chunk, '_', ''))) / LENGTH('_')
我知道我应该使用HAVING来对块进行操作,因为它不是真正的领域,但我怎么能这样做:
SELECT DISTINCT SUBSTRING_INDEX(my_field, '-', -1) AS chunk, (LENGTH(chunk) - LENGTH(REPLACE(chunk, '_', ''))) / LENGTH('_') AS total FROM my_field HAVING total < 2
这里的问题是我不能在最后一部分使用'chunk',因为它不是一个字段..
答案 0 :(得分:3)
这里的问题是我不能在最后一部分使用'chunk',因为它不是一个字段..
用
替换最后一部分的'chunk'SUBSTRING_INDEX(my_field,' - ', - 1)
不知道是什么问题?