我有一个表,它包含排序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结构,但我需要使用这个数字,因为我工作频道编辑器更新和添加有5000条记录的通道(enigma2 stb)所以我需要使用这个数字,因为它将存储小数据数据库以及插入和更新将更快。
我尝试使用JSON_SEARCH来提取单个值,但我需要所有值,以便我可以使用像ORDER BY JSON_EXTRACT(排序,' $ [提取数字]')
答案 0 :(得分:1)
试试这个:
ORDER BY LOCATE(sort, CONCAT('"', id, '"'))