如何在 mysql 5.7 中統(tǒng)計(jì) json 數(shù)組中特定元素的使用次數(shù)
mysql 5.7 中沒(méi)有專(zhuān)門(mén)用于統(tǒng)計(jì) json 數(shù)組中特定元素?cái)?shù)量的函數(shù)。然而,我們可以使用 json_search() 函數(shù)和分組查詢來(lái)實(shí)現(xiàn)類(lèi)似的功能。
解決方案:
-
使用 json_search() 函數(shù)搜索目標(biāo)元素:
json_search(tags, 'one', "3467562849402896")
這將返回一個(gè)包含目標(biāo)元素的 json 值的列表(如果找到的話)。
-
對(duì) json 值進(jìn)行分組并計(jì)數(shù):
select count(json_search(tags, 'one', <目標(biāo)元素>)) as count from <table> group by json_search(tags, 'one', <目標(biāo)元素>)
這將對(duì)找到的目標(biāo)元素進(jìn)行分組并計(jì)算每個(gè)元素出現(xiàn)的次數(shù)。
示例:
根據(jù)給定的 json 數(shù)據(jù)和目標(biāo)元素,查詢將會(huì)產(chǎn)生以下結(jié)果:
+-----------------------+------+ | count | total | +-----------------------+------+ | "3467562849402896" | 3 | | "3467562861985809" | 2 | | "3465044211793921" | 1 | +-----------------------+------+
這種方法允許我們靈活地統(tǒng)計(jì) json 數(shù)組中任何指定元素的計(jì)數(shù),而無(wú)需使用外部代碼或用戶定義函數(shù)。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END