簡體   English   中英

如何計算mysql中的json項

[英]How to count json items in mysql

我有桌子頻道:

+----+----------------+---------+
| id | sort           | bouquet |
+----+----------------+---------+
|  1 | ["2","3","73"] | ["1"]   |
| 12 | ["3","73"]     | ["28"]  |
+----+----------------+---------+

並且需要在特定 boquet 的排序字段中獲取計數項目......例如:

花束 1 有 3 個排序項目 花束 12 有 2 個排序項目

我嘗試在 mysql 中使用此查詢,但我不知道如何計算排序字段中的項目數:

SELECT COUNT(sort) AS total_channels 
FROM channels 
WHERE JSON_SEARCH(bouquet, 'one', "1") IS NOT NULL;

我總是得到:

+----------------+
| total_channels |
+----------------+
|              1 |
+----------------+

這是不正確的。

使用上面的幫助我來到這個:

SELECT JSON_LENGTH(sort) FROM channels WHERE bouquet='["1"]';

我得到正確的計數:

mysql> SELECT JSON_LENGTH(sort) FROM channels WHERE bouquet='["28"]';
+-------------------+
| JSON_LENGTH(sort) |
+-------------------+
|                 2 |
+-------------------+
1 row in set (0.00 sec)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM