台灣最大程式設計社群網站
線上人數
1318
 
會員總數:239585
討論主題:185867
歡迎您免費加入會員
討論區列表 >> MySQL >> Mysql json 排序問題
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Mysql json 排序問題
價值 : 50 QP  點閱數:191 回應數:5

樓主

ㄚ宏
初學者
36 56
421 55
發送站內信

table:test_json
field:id,data_json

id=1
data_json=

[
{"CODE": "C0", "PARA": "57f01060002024900010000", "TIME_STAMP": "23:45:45"},
{"CODE": "C0", "PARA": "57f01060002125500010000", "TIME_STAMP": "21:45:45"},
{"CODE": "C0", "PARA": "57f01060002027400010000", "TIME_STAMP": "21:45:45"}
]



結果如下:
["23:45:45", "21:45:45", "21:45:45"]

請教一下各位高手,想在這堆數組中做排序,嘗試了一下ASC或DESC,結果都一樣,請問一下那裡錯了呢?
謝謝!!

搜尋相關Tags的文章: [ json ] ,
本篇文章發表於2017-05-10 16:08
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

彩虹
檢舉此回應
裡面的值無法做排序的,你只是提取出來而已

order by 是針對資料表欄位的每一列值做排序
而不是使用在 json 裡面數組值的排序


我想你還是乖乖的撈出資料後,再透過程式呈現排序

本篇文章回覆於2017-05-10 17:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
建議將那個欄位的JSON值改成另一張資料表
然後利用外聯的方式來取資料
本篇文章回覆於2017-05-11 09:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

ㄚ宏
檢舉此回應
Hi 彩虹
謝謝您的提議,不行的話只能用程式做了

Hi 迷路
json欄位裡面的資料,其實一開始就是獨立資料表,只是每小時有60萬筆資料Insert,最後上層決定先濃縮資料量,再定期匯出
有硬體預算考量...
本篇文章回覆於2017-05-11 09:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
把資料表串成JSON格式字串能減少資料量?
本篇文章回覆於2017-05-11 13:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
json可是有長度限制的。太多也是不行的。

一般來說會搭配join的方式來做資料庫的取得處理。或是子查尋的方式
搞不好會比你目前用的方式還要更快。
或許你可以將你的需要及資料表的節構說明一下。或許可以給你更好的建議
本篇文章回覆於2017-05-17 17:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.