0

I need to select all values from all rows by one column in my table. I have

ID       TAGS
1        girls, womens, cars
2        girls, world, flowers
3        weapons, cars, boys

so after SQL I should get an array:

array('girls', 'womens', 'cars', 'girls', 'world', 'flowers', 'weapons', 'cars', 'boys')

so how my sql should look like?

4

3 回答 3

5

永远,永远,永远不要在一列中存储多个值。

就像你现在看到的那样,这只会让你头疼。规范化您的表格。

USER_ID  TAG
1        girls
1        women
1        cars
2        girls
...

之后,您可以像这样选择所需的结果

select group_concat(distinct tag)
from your_table
于 2013-11-07T17:32:02.867 回答
0

使用GROUP_CONCAT()GROUP_CONCAT() 上的 MySQL DISTINCT已经有一个类似的答案。

于 2013-11-07T17:32:26.140 回答
0

我至少可以给出一个示例解决方案:

  1. 使用Cursor之类的遍历每一行数据
  2. 拆分数据(互联网上有几个拆分示例)示例示例,S​​QL 中的拆分字符串
  3. 将值放在临时表中
  4. 最后从表中选择不同的

有人可以提出这些例子并提出解决方案。

于 2013-11-07T18:30:50.173 回答