如何使用列中特定ID的SQL查询查找字符串计数?

问题描述 投票:4回答:1

例如

如果我有一个名为Vegans的表名和名为Fruits的列名:-

ID     Fruits 
1      Orange,Apple
2      Orange,Apple
3      Apple
4      Orange 

如何在列名'ID'中获取特定Fruits的计数字符串计数?

mysql sql
1个回答
1
投票
实现此目的的一种简单方法是,将分割水果的逗号计数,然后添加一个(如果只有一个水果,则为一个)

SELECT ID,char_length(Fruits) - char_length(REPLACE((Fruits), ',', ''))+1 AS FruitCount FROM Vegans WHERE char_length(Fruits) > 0 AND ID = 1

正如许多人建议的那样,您应该将每个水果条目放在单独的行中,并在ID字段之外添加一个链接字段。例如这样:

ID, VeganPersonID, Fruit 1, 5, apple 2, 5, peaches 3, 1, apple

© www.soinside.com 2019 - 2024. All rights reserved.