我在表视图中有列:165,75,44,458,458,42,45 此列包含查看链接的 user_ids。我想用逗号分隔符分解它并计算 ids
我试过这个,但它只计算所有的字符。
查询语句:
SELECT LENGTH(views) FROM questions WHERE question_id=1;
Run Code Online (Sandbox Code Playgroud)
这是我想在SQL中做的PHP版本
$viewers_ids = "165,75,44,458,458,42,45";
$num_of_views = count(array_filter(explode(",", $viewers_ids)));
Run Code Online (Sandbox Code Playgroud)
您可以计算逗号:
select 1 + length(views) - length(replace(views, ',', ''))
Run Code Online (Sandbox Code Playgroud)
也就是说,你应该修复你的数据结构。您不应该在字符串列中存储多个数字 id——这在很多方面都是错误的。您应该使用连接/关联表。