作者grence (多想两分钟 = =")
看板Database
标题Re: [SQL ] 关於排序
时间Sat May 16 20:06:37 2009
※ 引述《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 std_case, std_name, std_sch
FROM `student`
ORDER BY
CASE std_case
WHEN '班内' THEN 1
WHEN '询问' THEN 2
WHEN '试听' THEN 3
WHEN '流失' THEN 4
ELSE 5
END
效果应该一样,只是省了一栏
1F:推 sdallan:谢谢您的回覆 05/16 19:48
2F:推 sdallan:有什麽办法可以取代掉这个case的栏位名吗? 05/16 19:58
栏位别名…
SELECT ..
CASE std_case
WHEN '班内' THEN 1
WHEN '询问' THEN 2
WHEN '试听' THEN 3
WHEN '流失' THEN 4
ELSE 5
END column_name
FROM ..
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.207.213
3F:推 sdallan:谢谢您的回覆 05/16 20:24