怎么排序不来???BUG?

[复制链接]
查看11 | 回复7 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
怎么排序不来???BUG?
select * from emp where rowid in(
select id from (select rowid id,row_number() over(partition by cla order by grade asc) mingci from emp)
where mingci<4
)

结果: cla ename grade sdate sid
1 1 wjw_1 60 20060901 10
2 1 www_12 65 20060902 11
3 1 ejw 80 20060903 12
4 2 wdw 84 20060904 13
5 2 wjj 83 20060905 14
6 2 wjf 85 20060906 15
7 3 wcw 86 20060907 16
8 3 wiw 90 20060908 17
9 3 fsdaf 80 20060910 19
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
高人帮帮我啊
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
select * from (select *,row_number() over(partition by cla order by grade asc) mingci from emp)
where mingci<4
--下面是排序
order by cla,grade desc
你这样不行么?
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
你没order by么
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 cxck 发布
[B]你没order by么 [/B]

order by写在那里啊
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 neilkooo 发布
[B]select * from (select *,row_number() over(partition by cla order by grade asc) mingci from emp)
where mingci<4
--下面是排序
order by cla,grade desc
你这样不行么? [/B]

不行-.-
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
为什么不行?你select * from emp来看一下,然后再来上面的语句看看。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
1
1
wjw_1
60
20060901
10
2
1
www_12
65
20060902
11
3
1
ejw
80
20060903
12
4
2
wdw
84
20060904
13
5
2
wjj
83
20060905
14
6
2
wjf
85
20060906
15
7
3
wcw
86
20060907
16
8
3
wiw
90
20060908
17
9
3
wjl
95
20060909
18
10
3
fsdaf
80
20060910
19
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行