mysql查询唯一单词_MySql从表中获取唯一单词列表,其中字段中的值用逗号分隔
我不確定這是否可以用純SQL(MySQL),但無(wú)論如何我會(huì)問(wèn).我有這樣一張桌子:
ID TAGS
-----------------------------
1 word1,word2,word3
2 word2,word4
3 word3,word5,word6,word7
...
我想從tags字段中選擇一個(gè)所有唯一的單詞,得到這樣的東西:
TAGS
-----
word1
word2
word3
word4
word5
word6
word7
解決方法:
你可以在SQL中做到這一點(diǎn),雖然它不漂亮.
select distinct reverse(substring_index(reverse(substring_index(tags, ',', n.n)), ',', 1)) as word
from t cross join
(select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n
having word is not null
您需要確保子查詢n至少包含每個(gè)標(biāo)記中的單詞數(shù).
Here是演示這一點(diǎn)的SQLFiddle.
這是將原始數(shù)據(jù)與序號(hào)交叉連接.然后使用substring_index()從標(biāo)記字符串中選取第n個(gè)值.
要獲得最大數(shù)量的標(biāo)簽,您可以執(zhí)行以下操作:
select max(length(tags) - length(replace(tags, ',', 1))+1
from t
標(biāo)簽:mysql,sql,select
來(lái)源: https://codeday.me/bug/20190625/1284724.html
總結(jié)
以上是生活随笔為你收集整理的mysql查询唯一单词_MySql从表中获取唯一单词列表,其中字段中的值用逗号分隔的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 刷子李的“行”字怎么读?
- 下一篇: 上坟元宝最简单的折叠方法