2017-04-19 98 views
-1

我有一列中除了一个空格分隔的文本之外什么也不存储。该列的每个字段中可能有一个可能有5个词。我需要一个查询来返回该列中所有不同的单词。选择列MYSQL中的所有不同的单词

尝试:

SELECT DISTINCT tags FROM documents ORDER BY tags 

,但不起作用。

要详细说明。

我有一个名为tags的列。在这里面我可以有如下条目:

Row 1 Red Green Blue Yellow 
Row 2 Red Blue Orange 
Row 3 Green Blue Brown 

我希望选择在整列的DISTINCT话 - 所有领域。这将返回:

Red Green Blue Yellow Orange Brown 

如果我算每个它将返回:

2 Red 
2 Green 
3 Blue 
1 Yellow 
1 Brown 
1 Orange 
+0

*“不起作用”* - 您能详细说明吗?你现在得到的结果是什么,预期的结果是什么?您还需要在这里发布架构/值和相关性。编辑:在编辑中删除了php标签。 http://stackoverflow.com/revisions/43499498/2 –

+0

如果DISTINCT不起作用,请尝试添加GROUP BY –

+0

如果每个标签都在另一个表的自己的行上,这将是世界上最简单的东西... –

回答

0

为了解决这个问题我结束了创建第二个表,其中在那里有一个记录一起插在它们自己的行每所有关键字键将其绑回主数据表中的原始记录。然后,我只需要SELECT DISTINCT来获取所有标签,或者我可以使用WHERE子句选择DISTINCT,指定原始记录以获取与唯一记录关联的标签。更容易。