我在表格视图中有列:165,75,44,458,458,42,45
该列包含查看链接的user_id。
我想用逗号分隔符将其爆炸并计算ID

我试过了,但只算所有字符。

SQL:

SELECT LENGTH(views) FROM questions WHERE question_id=1;


这是我要在SQL中执行的PHP版本

$viewers_ids  = "165,75,44,458,458,42,45";
$num_of_views = count(array_filter(explode(",", $viewers_ids)));

最佳答案

您可以计算逗号:

select 1 + length(views) - length(replace(views, ',', ''))


也就是说,您应该修复数据结构。您不应该在字符串列中存储多个数字ID,这在许多方面都是错误的。您应该使用联结/关联表。

关于mysql - 在SQL中爆炸并计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54894151/

10-10 22:17