作者howardandy (醉苍穹)
看板Database
标题Re: [SQL ] 请问MySQL是否有办法交错排序?
时间Sat Aug 6 00:37:18 2011
※ 引述《athelok (连米)》之铭言:
: id |code
: 1 |1
: 2 |1
: 3 |2
: 4 |1
: 5 |2
: 6 |2
: 请问有没有select可以让结果变成
: id |code
: 1 |1
: 3 |2
: 2 |1
: 5 |2
: 4 |1
: 6 |2
: 也就是code栏位要按照1 2 1 2 1 2的交错出现
: 请各位大大指教, 谢谢!
我不会ms sql QQ
你这相同的问题有人问过我...
我是傻傻的这样写,或许有更好的写法就要请教其他大大了。
ORACLE
SELECT R3.ID, R3.CODE
FROM (SELECT R1.ID, R1.CODE, (R1NUM + R1NUM) - 2 AS 顺序
FROM (SELECT T1.*, ROWNUM R1NUM
from (SELECT T.*
FROM TABLE T
WHERE T.CODE = 1
ORDER BY T.CODE) T1) R1
UNION
SELECT R2.ID, R2.CODE, (R2NUM + R2NUM) - 1 AS 顺序
FROM (SELECT T1.*, ROWNUM R2NUM
from (SELECT T.*
FROM TABLE T
WHERE T.CODE = 2
ORDER BY T.CODE) T1) R2) R3
ORDER BY R3.顺序
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.231.85.199
1F:推 athelok:感谢~ 08/09 12:10