看板 Database 關於我們 聯絡資訊
感謝先前這個問題,高手提供了 json_table 來作為解方, 然而現在有更進階的問題想要來請教。 簡而言之,我要取的資料是在 json 檔案的第三層, 取成功的語法為以下兩者(結果相同) data->>'$.events[*].markets[*].title' json_extract(data, '$.events[*].markets[*].title') 資料原始模樣如下: { "round": { "id": "200607155540uRndtkdv56427", "bet": true, "round": 19, "settle": true, "userId": "181210130814puid35139258", "sportId": "sr:sport:1", "countryCode": "ng", "ticketCount": 1, "openBetsCount": 1 }, "events": [{ "id": "200607155537uEvetkdv55698", "markets": [{"id": "200607155537uMartkdv55699", "type": "12", "guide": "", "title": "1X2", "oddCount": 3 }] }] } 然而這只是節錄的一部分,如果全部取出,上面語法取出的資料長相會是如下: [ "1X2", "O/U", "O/U", "O/U", "O/U", "O/U", "O/U", "Double Chance", "GG/NG", "Handicap", "Handicap" ] 期待的結果如下: round_id title count(*) 200607155540uRndtkdv56427 1X2 1 200607155540uRndtkdv56427 O/U 6 200607155540uRndtkdv56427 Double Chance 1 200607155540uRndtkdv56427 GG/NG 1 200607155540uRndtkdv56427 Handicap 2 如果是原網頁中的高手解法,現在的困惑是不曉得要把路徑 '$.events[*].markets[*].title' 放在哪裡。 無論是放在下列 '$[*]' 或 '$' 的位置都是噴出錯誤訊息...... SELECT j.fruit, count(*) FROM person p JOIN JSON_TABLE( p.fruits, '$[*]' columns (fruit varchar(50) path '$') ) j GROUP BY j.fruit; https://bit.ly/3fkEBO3 再麻煩高手抽空指導,感激不盡~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.167.134.52 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1592042698.A.4F1.html ※ 編輯: paranoia5201 (1.167.134.52 臺灣), 06/13/2020 18:05:57 ※ 編輯: paranoia5201 (1.167.134.52 臺灣), 06/13/2020 18:06:12