gpt4 book ai didi

php - 如何计算mysql表中一个字段可以包含多个值的值的数量

转载 作者:行者123 更新时间:2023-11-30 22:02:11 24 4
gpt4 key购买 nike

我有一个名为 user_feedback 的表,我在其中存储用户反馈。

在此表中,我有一列,名称为 product_id,我在其中存储产品 ID IE-

     f_id  f_name      product_id
1 x 5
2 y 1,3
3 z 1,5
4 A 2,3,4,7

而产品表是-

 product_id   pname
1 samsung
2 apple
3 micromax
4 vivo
5 sony
6 lenovo
7 xolo

如何知道每个产品的产品数量

前-

        prdname       count
samsung 2
apple 1
micromax 2
vivo 1
sony 2
lenovo 0
xolo 1

最佳答案

如果您可以控制这些表结构,我建议实现适当的 N:N 关系,从 feedback 表中删除 product_id 并创建一个新表prod_fb_rel 只有 product_idf_id 作为列

在那个表中你会有

f_id  | product_id
1 | 5
2 | 1
2 | 3
3 | 1
3 | 5
4 | 2
4 | 3
4 | 4
4 | 7

您需要的查询将非常简单

select  prdname, count(*)
from product t1
join prod_fb_rel t2
on t1.product_id = t2.product_id
group by prdname

编辑

要从您现在拥有的数据开始填充新表,您可能应该定义一个 split 函数(如 this one ),然后编写一个过程来获取每个现有记录,循环product_id 和每次迭代中的 ID 数量使用 split 函数提取一个 ID 并将其插入到新表中。

关于php - 如何计算mysql表中一个字段可以包含多个值的值的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43043087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com