[SQL ] 資料排序問題

看板Database作者 (優質的藍色射手)時間8年前 (2016/02/14 18:19), 編輯推噓5(508)
留言13則, 4人參與, 最新討論串1/2 (看更多)
Hi All 我遇到一個排序問題,請問題是否能在 seach的時候解掉 資料如下 欄位資料 群組 資料 A A-1 A A-2 A A-11 B B-3 B B-2 B B-5 C C-1-1 C C-1-3 C C-1-11 C C-2-11 期望輸出結果 A A-1 A A-2 A A-11 B B-2 B B-3 B B-5 C C-1-1 C C-1-3 C C-1-11 C C-2-11 目前做法如下 select *,LPAD(LTRIM(split_part(資料,'-',2)),3,'0') as ss from table order by 群組 asc,ss asc,資料 asc 但是這樣子只能解 A B問題 C的排序會變成 C-1-1 C-1-11 C-1-3 C-2 不知道怎修改才能達到我想要的結果,請高手指點一下,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.185.128 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1455445189.A.4BC.html

02/15 17:21, , 1F
你那個方法原因出在只能針對一個減號來用的 (應該吧?
02/15 17:21, 1F

02/15 17:21, , 2F
C群組有兩個減號的話 可以重複把排序多弄一次就可以解
02/15 17:21, 2F

02/15 17:22, , 3F
02/15 17:22, 3F

02/15 17:23, , 4F
但是這樣單純的硬解,會有相同的缺點,
02/15 17:23, 4F

02/15 17:23, , 5F
當減號有3個以上時就不能用了
02/15 17:23, 5F

02/15 21:58, , 6F
了解,我也是想到硬解 再拆一組出來比
02/15 21:58, 6F

02/17 19:07, , 7F
資料向右補齊10格, 使用'.'補齊 排序 搞定
02/17 19:07, 7F

02/17 20:30, , 8F
jej大,能舉例嗎?
02/17 20:30, 8F

02/17 23:35, , 9F
02/17 23:35, 9F

02/18 11:05, , 10F
r大,看不到也
02/18 11:05, 10F

02/18 11:49, , 11F

02/18 11:52, , 12F
我的做法還是有BUG啦
02/18 11:52, 12F

02/18 11:55, , 13F
我想到另一個做法就是A-1轉A-01然後在排序
02/18 11:55, 13F
文章代碼(AID): #1Mm5J5Iy (Database)
文章代碼(AID): #1Mm5J5Iy (Database)