MySQL 查询 - 通过 JSON 值获取订单 ID

标签 mysql json sorting

我有一个包含排序 json 数值的表,我需要使用定义的 json 排序号对 id 进行排序...所以我有这样的表:

+----+------------+-----------------+
| id | channel    | sort            |
+----+------------+-----------------+
|  1 | US_CH 1    | ["1", "2", "4"] |
|  4 | US_CH 4    | ["1", "2", "4"] |
|  2 | US_CH 2    | ["1", "2", "4"] |
+----+------------+-----------------+

并且想要得到这个:

+----+------------+-----------------+
| id | channel    | sort            |
+----+------------+-----------------+
|  1 | US_CH 1    | ["1", "2", "4"] |
|  2 | US_CH 2    | ["1", "2", "4"] |
|  4 | US_CH 4    | ["1", "2", "4"] |
+----+------------+-----------------+

所以重点是通过数组中 json 排序值的值来获取 ID 排序。我知道排序 json 值不是 json 结构,但我需要使用这个数字,因为我正在工作 channel 编辑器,它更新和添加具有 5000 条记录的 channel (enigma2 stb),所以我需要使用这个数字,因为它将在中存储小数据数据库,插入和更新会更快。

我尝试使用 JSON_SEARCH 提取单个值,但我需要所有值,以便我可以使用 ORDER BY JSON_EXTRACT(sort, '$[extractnumbers]')

最佳答案

试试这个:

ORDER BY LOCATE(sort, CONCAT('"', id, '"'))

关于MySQL 查询 - 通过 JSON 值获取订单 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43292294/

相关文章:

python - 如何从列表中删除相同的项目并在 Python 中对其进行排序?

iOS:如何在排序的 NSMutableArray 中找到插入位置

java - 将 ArrayList 排序为对象类型,然后按字母顺序排序

mysql - 迁移警告 - 列 x 到 x 的截断键列长度 - SQL Server 到 MYSQL 迁移

php - json_encode函数: special characters

json - Go 嵌套 Json Marshall 或编码

javascript - 如何使用 D3 处理重度嵌套对象

mysql - 在同一个表中查找每行最接近的值

php - 搜索带有标签的图像

php - mysql 和 php 中的日期和时间存储错误