SQL中union和多个order by同时出现的问题

源网址:http://6731165.blog.163.com/blog/static/9887876200992663749784/

 

这样的,从一个表中select出一部分数据按照字段A升序排序,字段A的值有条件,比如说大于1000,剩余部分按照字段B降序排列
本来以为用一个union就搞定,没想到union之前的select字句中不能出现order by关键字,否则会出错
原来是这样写的:


select gamecoin,trancoin from anhui1
where gamecoin>1000
order by gamecoin asc

union

select gamecoin,trancoin from anhui1
where gamecoin<=1000
order by trancoin desc

报错: 关键字 'union' 附近有语法错误。


后来查找了csdn的资料(还是csdn高人多),代码如下,SQL Server 2005上运行OK


select * from
(
select top 100 percent gamecoin,trancoin from anhui1
where gamecoin>1000
order by gamecoin asc
)
aa

union

select * from
(
select top 100 percent gamecoin,trancoin from anhui1
where gamecoin<=1000
order by trancoin desc
)
bb

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值