如何統(tǒng)計 mysql 中 json 數(shù)組中特定值的頻次
你希望統(tǒng)計 json 數(shù)組中特定元素出現(xiàn)的次數(shù)。在下文給出的解決方案中,我們跳過了使用 json_table,因為你的 mysql 版本為 5.7。
為了解決這個問題,我們提出了以下方案:
- 使用 json_search 查找包含特定元素的記錄。
- 在代碼中對查詢結(jié)果進行處理以計算每個元素出現(xiàn)的次數(shù)。
改進的方案:
以下經(jīng)改進的方案可以統(tǒng)計每個元素出現(xiàn)的次數(shù):
SELECT count( JSON_SEARCH( tags, 'one', "3467562849402896" ) ), count( JSON_SEARCH( tags, 'one', "3467562861985809" ) ), count( JSON_SEARCH( tags, 'one', "3465044211793921" ) ) FROM XXXXXXXXXX
登錄后復制
解釋:
- json_search 函數(shù)用于在給定的 json 數(shù)據(jù)中搜索指定的元素。
- count() 聚合函數(shù)用于計算每個元素出現(xiàn)的次數(shù)。
- ‘one’ 表示 json 數(shù)組中元素的鍵名。