select * from yourtable order by decode(order_field,0,100000,order_field),id注:100000是一个比你目前order都大的数 字段名不能用order,这是oracle的保留字
to Lastdrop(空杯): 能给解释一下decode吗?
select * from table_name where order_name<>0 order by order_name union select * from table_name where order_name=0 order by id;decode(col,1,col,null) 相当于: if col=1 then --输出col值 else --null值 end if;
select * from table_name where order_name<>0 group by order_name,id union select * from table_name where order_name=0 group by id,order_name;呵呵,union不支持order by
beckham:union 真的不支持order by 吗? select * from table A order by decode(A.order,0,A.id,A.order); blackcourser(黑骏马)你先试试,如果不行,你就将上面选出来的数据放到另一张表B中,然后在: select * from B where B.order<>0 union seledt * from B where B.order-0
order by decode(order_field,0,100000,order_field),id注:100000是一个比你目前order都大的数
字段名不能用order,这是oracle的保留字
能给解释一下decode吗?
union
select * from table_name where order_name=0 order by id;decode(col,1,col,null)
相当于:
if col=1 then
--输出col值
else
--null值
end if;
union
select * from table_name where order_name=0 group by id,order_name;呵呵,union不支持order by
select * from table A order by decode(A.order,0,A.id,A.order);
blackcourser(黑骏马)你先试试,如果不行,你就将上面选出来的数据放到另一张表B中,然后在:
select * from B where B.order<>0
union
seledt * from B where B.order-0