Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 MySQL 中有一个逗号分隔列表字段:
id field1 1 aa,bb,cc 2 aa
我想计算重叠的元素总数。在这种情况下,这将是 4:aa出现两次,因此应该重复计算。
aa
计算每个字段中逗号的数量并加 1 就足够了,因为我的列表没有引号或转义。
让我们试试:
select count(field1) + sum(CHAR_LENGTH(field1) - CHAR_LENGTH(REPLACE(field1,',',''))) from Table1;
为什么使用逗号分隔的字符串?
数据库不是为此而设计的。
您有两种可能性: - 在存储过程中创建一个循环, - 将其计入调用此 MySQL 查询的代码中......