Sql分组排名

来源:百度知道 编辑:UC知道 时间:2024/06/07 01:15:54
sybase数据库
表名 table
内含列a,b等
要求以b为分组提取所有分组的前10名,我写的代码如下
select * from table T where T.a in
(
select top 10 a from table where b=T.b order by a DESC
)
运行出错了:错误提示是Incorrect syntax near the keyword 'top'.
请问错在哪里?
a,b都是关键字
-----------------
先谢谢各位了......感觉应该是 rjiang2008这样...很奇怪的是单独TOP不嵌套是可以运行,也就是说SYBASE应该支持TOP啊...但是嵌套进去就不行...出现那样的错误...我这两句单独执行是可以的...

sybase 没有top 10吧。
用set rowcount 10

select * from table T where T.a in
(
set rowcount 10
select a from table where b=T.b order by a DESC
set rowcount 0
)
至于关键字是不是加[]记不清了。一直没用过这样的表名

--补充
你sql写的怪怪的,是不是下面这意思
set rowcount 10
select *
from table
order by a desc
set rowcount 0

要知道table是关键字
select * from [table] T where T.a in
(
select top 10 a from [table] where b=T.b order by a DESC
)

select top(10)*from t order by a