LATERAL . के साथ छोटा, तेज़ और अधिक सुरुचिपूर्ण शामिल हों:
SELECT DISTINCT ON (t.team->>'Name') t.team
FROM matches m, json_array_elements(m.match->'Teams') t(team);
ORDER BY t.team->>'Name', m.id DESC; -- to get the "last"
यदि आप केवल अलग-अलग टीमें चाहते हैं, तो ORDER BY जा सकता है। संबंधित:
- JSON कॉलम में सरणी के तत्व के लिए क्वेरी
- JSON प्रकार के अंदर सरणी तत्वों के लिए क्वेरी
JSON और समानता
json . के लिए कोई समानता ऑपरेटर नहीं है Postgres में डेटा प्रकार, लेकिन jsonb . के लिए एक है (9.4+ पोस्ट करें):
- खाली वस्तुओं के लिए json कॉलम को कैसे क्वेरी करें?