我有一个mysql表,其列看起来像这样:
| TAGS |
------
|Green |
|Blue |
|Orange|
|Blue |
|Green |
| ... |
------
现在我要做的是输出列表中存在的所有不同标签,但是每个标签只能输出一次(例如,'绿色在数据库中站立两次但在列表中只能站立一次' )
希望你理解我的问题! 感谢
答案 0 :(得分:0)
你说" row"但是你的意思是标有"标签"在你的桌子上?
有两种不同的方式:
方法1:
SELECT DISTINCT tags FROM table_name WHERE condition;
方法2:
SELECT tags FROM table_name WHERE condition GROUP BY tags;
它们都会返回一个数组,其中行中的每个项目都是不带重复的标记(不同)。主要区别在于DISTINCT使得更容易优化(并且可能更快)。
现在,如果您没有输入拼写错误并且说您有一行包含多个标记的列,请执行以下操作:
|ROW_ID|TAGS |
| 1 |'Blue', 'Red' |
| 2 |'Red', 'Yellow' |
| 3 |'Blue', 'Black', 'Red'|
然后你必须做一些解析和数组操作(但那是一个完全不同的答案)。