mysql - 选择字段的不同子字符串值并计算该选择中字符的实例数

标签 mysql

我正在尝试选择字段的不同子字符串值并计算该选择中字符实例的数量。 我找到了 this精彩的帖子回答了一半。

到目前为止,我可以计算我领域中字符的实例,效果很好。现在更难的部分是,如果我使用以下方法选择一段字符串会怎样:

SELECT DISTINCT SUBSTRING_INDEX(my_field, '-', -1) AS chunk

在这种情况下,我只选择字符串的最后一部分(最后一个“-”之后的所有内容)。我如何将此公式应用于 block (尝试计算新字符串中“_”的实例数?:

(LENGTH(chunk) - LENGTH(REPLACE(chunk, '_', ''))) / LENGTH('_')

我知道我应该使用 HAVING 对 block 进行操作,因为它不是一个真实的字段,但我该怎么做:

SELECT DISTINCT SUBSTRING_INDEX(my_field, '-', -1) AS chunk, (LENGTH(chunk) - LENGTH(REPLACE(chunk, '_', ''))) / LENGTH('_') AS total FROM my_field HAVING total < 2 

这里的问题是我不能在最后一部分使用“ block ”,因为它不是一个字段..

最佳答案

The problem here is that i can't use 'chunk' in the last part since it's not a field..

将最后一部分的'chunk'替换为

SUBSTRING_INDEX(my_field, '-', -1)

不知道是什么问题?

关于mysql - 选择字段的不同子字符串值并计算该选择中字符的实例数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9943914/

相关文章:

mysql - 将 2 列别名为相同名称

php - Laravel 表关系获取用户列表

php - 数据库操作框架

php - 优化大量 MySQL INSERT

mysql - SQL语句where in不起作用

php - 使用标题确定 SphinxQL 中可能的类别

php - 基于日期的 LEFT JOIN 变体

php - (使用MySQL插入)当记录存在时找不到该记录的id

c# - 如何通过MySqlReader C#读取多个请求

python - Hue 主管启动错误 hadoop 工作正常 - Hue 中的 Python 包无法工作