0
假設我有一個PostgreSQL的表下面的模式:排序嵌套的JSON數組的長度
id: 1,
attribute_a: 'value'
attribute_b: 'value'
data: { attribute_c: 'value', array_of_values: [1,2,3] }
凡data
存儲在一個JSON結構。有可能通過array_of_values的長度來排序表中的元素嗎?
假設我有一個PostgreSQL的表下面的模式:排序嵌套的JSON數組的長度
id: 1,
attribute_a: 'value'
attribute_b: 'value'
data: { attribute_c: 'value', array_of_values: [1,2,3] }
凡data
存儲在一個JSON結構。有可能通過array_of_values的長度來排序表中的元素嗎?
使用json_array_length()
或jsonb_array_length()
如Eggplant commented。假設jsonb
:
SELECT *
FROM tbl
ORDER BY jsonb_array_length(data->'array_of_values')
順便說一句,你的JSON值的語法應爲:
{"attribute_c": "value", "array_of_values": [1, 2, 3]}
當然是!看看'json_array_length(json)'函數:http://www.postgresql.org/docs/9.4/static/functions-json.html – Eggplant