簡體   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