如何在 mysql 5.7 中統計 json 數組中特定元素的使用次數
mysql 5.7 中沒有專門用于統計 json 數組中特定元素數量的函數。然而,我們可以使用 json_search() 函數和分組查詢來實現類似的功能。
解決方案:
-
使用 json_search() 函數搜索目標元素:
json_search(tags, 'one', "3467562849402896")
登錄后復制這將返回一個包含目標元素的 json 值的列表(如果找到的話)。
-
對 json 值進行分組并計數:
select count(json_search(tags, 'one', <目標元素>)) as count from <table> group by json_search(tags, 'one', <目標元素>)
登錄后復制這將對找到的目標元素進行分組并計算每個元素出現的次數。
示例:
根據給定的 json 數據和目標元素,查詢將會產生以下結果:
+-----------------------+------+ | count | total | +-----------------------+------+ | "3467562849402896" | 3 | | "3467562861985809" | 2 | | "3465044211793921" | 1 | +-----------------------+------+
登錄后復制
這種方法允許我們靈活地統計 json 數組中任何指定元素的計數,而無需使用外部代碼或用戶定義函數。