我正在开展一个项目,我需要将数据保存在"逗号分隔数据"形成。我需要在这里避免数据复制。我该怎么做?
例如:
id | name | fav
1 | abc | 11,2,3,4,5,11,2
2 |
3 |
.
.
.
我如何只显示11,2,3,4,5(来自fav)
我使用了查询:
SELECT DISTINCT fav FROM user_details 在哪里id =' 1' ORDER BY fav ASC ***
答案 0 :(得分:0)
您可以通过以适合关系数据库的方式存储数据来解决此问题,然后以适合呈现的格式提取数据。
您似乎需要一个“UserFav”表,每次使用一行,每个“fav”一行。如果你有这样的结构,你的查询将是:
select id, name, group_concat(distinct uf.favid order by uf.id) as favs
from table t join
UserFav uf
on t.id = uf.userid
group by t.id;
我想说,试图在数据库中进行这样的字符串操作是愚蠢的。数据库旨在进行一些非常复杂的数据操作。使用它们。不要试图将圆形钉固定在方孔中。