我有一列如下
Products
jeans,oil
jeans,shampoo
我想拆分字符串并使用 SQL 在同一列中使用它们。我想要的结果是
Products count
jeans 2
oil 1
shampoo 1
你能指导我得到这个结果吗
谢谢
最佳答案
您将 CSV 数据存储在 SQL 表中,这不是一件好事。但看起来你正试图摆脱它,这是一件好事。这是一个使用带有 SUBSTRING_INDEX
的联合的选项:
SELECT Products, COUNT(*) AS count
FROM
(
SELECT SUBSTRING_INDEX(Products, ',', 1) AS Products FROM yourTable
UNION ALL
SELECT SUBSTRING_INDEX(Products, ',', -1) FROM yourTable
) t
GROUP BY Products
ORDER BY
count DESC, Products;
Demo
关于mysql - SQL中如何将字符串拆分为单列并排列在同一列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961749/