Re: [SQL ] 關於排序

看板Database作者 (mike)時間15年前 (2009/05/18 08:44), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串5/7 (看更多)
※ 引述《TonyQ (沉默是金)》之銘言: : ※ 引述《sdallan ()》之銘言: : : 使用 mysql : : std_case , std_name , std_sch : : 狀況 學校 姓名 : : ─────────────── : : 流失 高雄 測試 : : 試聽 台中 測試 : : 詢問 台北 測試 : : 班內 新竹 測試 : : 想要排序 狀況這個欄位 @@" : : desc asc 兩種下去排都不是我要的。 : : 我希望的排法是 班內>詢問>試聽>流失 : : 至於學校、姓名,怎麼排,不重要XD : : 還請麻煩幫忙解決 : SELECT std_case, std_name, std_sch, : CASE std_case : WHEN '班內' THEN 1 : WHEN '詢問' THEN 2 : WHEN '試聽' THEN 3 : WHEN '流失' THEN 4 : ELSE 5 : END : FROM `student` : ORDER BY 4 asc :個人是覺得如果可以簡單的事情 , 就不要太複雜了. select case 雖然可以解決問題,但不一定是最好的方法, 假設你的資料量是數萬筆,需求臨時改變其中幾個順序, 反而實務上使用第一種自建index方法比較好維護, 改SQL指令會改到死,提供參考 解決問題不一定只用聰明方法,有的時候笨一點會更好 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.127.108

05/18 11:16, , 1F
有道理. XD
05/18 11:16, 1F

05/18 13:45, , 2F
實務嘛,快又有效,能動就好;個人覺得order by比較直覺
05/18 13:45, 2F
文章代碼(AID): #1A4Azdbw (Database)
討論串 (同標題文章)
文章代碼(AID): #1A4Azdbw (Database)