【发布时间】:2017-09-15 21:44:08
【问题描述】:
我有一列只存储由一个空格分隔的文本。列的每个字段中可能有 1 到 5 个单词。我需要一个查询来返回该列中所有不同的单词。
试过了:
SELECT DISTINCT tags FROM documents ORDER BY 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
【问题讨论】:
-
“不起作用” - 你能详细说明一下吗?你现在得到了什么结果,预期的结果是什么?您还需要在此处发布架构/值和与 php 的相关性。编辑:在编辑中删除了 php 标记。 stackoverflow.com/revisions/43499498/2
-
如果 DISTINCT 不起作用,请尝试添加 GROUP BY
-
如果每个标签在另一个表中的自己的行上,这将是世界上最简单的事情......
-
通过在列上选择 DISTINCT MYSQL 将只返回列中每个字段的不同字符串。不是 DISTINCT 单个词。
-
首先将字符串拆分成行:stackoverflow.com/questions/17942508/… 然后您可以分组并获取计数,因为您已经拥有了标准化数据。