आप ROW_NUMBER()
. का उपयोग करके enumarete का उपयोग कर सकते हैं विंडो फ़ंक्शन JSON_KEYS()
. के उपयोग के माध्यम से मुख्य मान निर्धारित करते समय , और फिर JSON_EXTRACT()
. का उपयोग करके संबंधित कुंजियों को निकालें सरणियों से हमें जैसे कि
WITH k AS
(
SELECT *,
ROW_NUMBER() OVER(PARTITION BY `jsdata` ORDER BY value DESC) AS rn,
JSON_KEYS(`jsdata`) AS jk
FROM `tab` AS t
JOIN JSON_TABLE(`jsdata`,'$.*' COLUMNS (value INT PATH '$')) j
)
SELECT JSON_UNQUOTE(JSON_EXTRACT(jk, CONCAT('$[',rn-1,']'))) AS "key",
value
FROM k
या निम्नलिखित क्वेरी को अधिक सरल होने के रूप में उपयोग करें
SELECT JSON_UNQUOTE(
JSON_EXTRACT(JSON_KEYS(`jsdata`),
CONCAT('$[',
ROW_NUMBER() OVER(PARTITION BY `jsdata` ORDER BY value DESC)-1,
']'))
) AS "key", value
FROM `tab` AS t
JOIN JSON_TABLE(`jsdata`,'$.*' COLUMNS (value INT PATH '$')) j