繁体   English   中英

MYSQL SELECT从表的所有行中仅选择一列

[英]MYSQL SELECT only one column from all rows in table

我需要从表中的每一列中选择所有行中的所有值。 我有

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

所以在SQL之后,我应该得到一个数组:

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

所以我的sql应该是什么样子?

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

就像您现在看到的那样,这只会让您头痛。 标准化表格。

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

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

select group_concat(distinct tag)
from your_table

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

我可以至少提供一个示例解决方案:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM