计算 MySQL 中逗号分隔列表中的项目数
确定存储在 MySQL 列中的逗号分隔列表中的项目数可以是数据分析中的常见任务。
使用字符串长度操作
要在不使用其他函数的情况下实现此目的,您可以利用原始列表字符串与其逗号剥离对应项之间的差异:
LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))
此表达式减去长度从原始字符串长度中删除逗号的字符串。由于逗号会影响总长度,因此缺少逗号表示项目的数量。
尾随逗号处理
请注意,在这种情况下,提供的数据包括附加的尾随逗号逗号。这是特别相关的,因为传统的字符串长度计算包括这个尾随逗号,导致计数不正确。通过使用 REPLACE 函数排除它,可以获得准确的计数。
没有尾随逗号的一般情况
一般情况下,逗号分隔的字符串没有逗号分隔的字符串尾随逗号,例如“foo,bar,baz”,修改后的表达式是必要:
LENGTH(col) - LENGTH(REPLACE(col, ',', '')) + 1
额外的 1 解决了缺少的尾随逗号,确保正确的项目计数。
通过使用这些字符串操作技术,您可以有效地计算逗号内的项目 -使用纯 SQL 查询分隔列表。
以上是如何计算 MySQL 中逗号分隔列表中的项目数?的详细内容。更多信息请关注PHP中文网其他相关文章!