作者gargamel (Nerding)
看板Database
标题Re: [SQL ] 问一个排序的问题
时间Sun Feb 3 22:58:24 2008
我还蛮爱一串SQL解完问题.
不确定下面正不正确, 现在没有机器可以RUN
参考看看...
(ORACLE, 原po推文有提到case的语法, 但它是9以後的版本才支援, 我很才用到:p)
SELECT value1, decode(v2,'1','111',
'2','222',
'3', null,
'4','333',
'5','000') value2
FROM (
SELECT value1, max(decode(value2,'111','1',
value2,'222','2',
value2, null,'3',
value2,'333','4',
value2,'000','5')) v2
FROM t1
GROUP BY value1)
※ 引述《RD (Rework & Delay)》之铭言:
: 一个范例的Table→
: T1
: ID(PK) Value1 Value2
: ----------------------
: 251 AAA 111
: 252 BBB 333
: 253 AAA [null]
: 254 BBB 222
: 255 AAA 000
: 256 CCC 222
: 257 CCC [null]
: 希望能产出下面的报表 Value1为UNIQUE
: Value1 Value2
: --------------
: AAA 000
: BBB 333
: CCC [null]
: Value2的规则是 000 > 333 > [null] > 222 > 111
: 我只会到 SELECT Value1, Value2 FROM T1 GROUP BY Value1
: 请问要怎麽处理Value2的规则呢??
--
东森───────╮ ╭─────联合
三立───╮ | |
╭─苹果
超扯M型崩溃正夯询问度超高宅男
傻眼踼爆
自由─╯ | | ╰───中天
民视─────╯ ╰─────────TVBS Gargamel_〆
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.64.100.184
1F:推 ClareQ:用decode不用写这麽多层,它还满像case可做多重判断的, 02/03 23:42
2F:推 ClareQ:可惜不是标准SQL语法。decode(expr,s1,r1,s2,r2,...,else) 02/03 23:50
3F:→ gargamel:哈哈..我弄错了..不用decode这多次... 02/03 23:57
已修改!
※ 编辑: gargamel 来自: 210.64.100.184 (02/04 00:01)