我有一个名为Customers的表,并带有一个CustID列,另一个表名为ProductCode。有33种可能的产品(编号1到33),每个客户可以拥有任何产品组合。每个客户只有一行,并且每个客户拥有的所有产品都显示在ProductCode列中,中间有空格:

CUSTID     PRODUCTCODE
------     -----------

001        3 12 18 22 32
002        9 6 18 36
003        3 6 7 26
004        9 11 33
005        6 21 28 29 30 31
006        1 3 6 21 30 31


我需要能够对每种产品进行计数并添加代码的文本描述:

ProdCode    Description       Count
~~~~~~~~    ~~~~~~~~~~~       ~~~~~
1           Lawnmower         1
3           Spade             3
6           Clippers          4
etc


谢谢!

最佳答案

永不永不将多个值存储在一列中!

如您现在所见,这只会导致问题。请使用其他表格规范化数据库结构

customer_products
CUSTID     PRODUCTCODE
------     -----------
001        3
001        12
001        18
---
002        9
002        6
...


然后,您可以从PRODUCTCODE表中删除customer列。

关于mysql - MySQL计数同一列中是否存在多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19220019/

10-12 04:54