z*y 发帖数: 1311 | 1 要用SQL语言实现rank的功能,但不允许使用rank函数。
比如一个table
a
------
10.2
11.5
9.8
6.5
输出 -------
1 6.5
2 9.8
3 10.2
4 11.5
thanks. |
a*p 发帖数: 62 | 2 sort by?
【在 z*y 的大作中提到】 : 要用SQL语言实现rank的功能,但不允许使用rank函数。 : 比如一个table : a : ------ : 10.2 : 11.5 : 9.8 : 6.5 : 输出 ------- : 1 6.5
|
z*y 发帖数: 1311 | 3
没那么简单,输出的table必须包含两列。
【在 a*p 的大作中提到】 : sort by?
|
a*p 发帖数: 62 | 4 标准SQL里面好像没有这种函数吧?
order by以后任何一个编程语言稍微一搞不就行了。SQL语句太底层了。
一定要的话可能可以用sql子查询加where限制加count()函数
手头的mysql没有子查询啊,ft
【在 z*y 的大作中提到】 : : 没那么简单,输出的table必须包含两列。
|
j***y 发帖数: 87 | 5 oracle:
select rownum, a from table XXX order by a
【在 z*y 的大作中提到】 : 要用SQL语言实现rank的功能,但不允许使用rank函数。 : 比如一个table : a : ------ : 10.2 : 11.5 : 9.8 : 6.5 : 输出 ------- : 1 6.5
|
a****o 发帖数: 37 | 6 rownum does not work with order by, it is the internal row number
try sequence.
but that is not standard sql.
and if it is not standard sql, there are many ways to do this.
【在 j***y 的大作中提到】 : oracle: : select rownum, a from table XXX order by a
|
b****e 发帖数: 1275 | 7 what's the point of questions like these??? off the top of my head
i know of no standard (or non-standard) way of doing this.. but even
if there is one .. what does one gain by knowing it??? in a real
world scenario there can be 1000 ways of getting this result..
【在 a****o 的大作中提到】 : rownum does not work with order by, it is the internal row number : try sequence. : but that is not standard sql. : and if it is not standard sql, there are many ways to do this.
|
x***u 发帖数: 9 | 8 SELECT COUNT(A.a) b, A.a a FROM XXX A, XXX B
WHERE A.a >= B.a
GROUP BY A.a
ORDER BY b;
【在 z*y 的大作中提到】 : 要用SQL语言实现rank的功能,但不允许使用rank函数。 : 比如一个table : a : ------ : 10.2 : 11.5 : 9.8 : 6.5 : 输出 ------- : 1 6.5
|
x***u 发帖数: 9 | 9 刚刚在座机上装了个ORACLE 8.0.5,然后亲自验证了一把,准确无误,沾沾自喜,宝刀不
老啊。
【在 x***u 的大作中提到】 : SELECT COUNT(A.a) b, A.a a FROM XXX A, XXX B : WHERE A.a >= B.a : GROUP BY A.a : ORDER BY b;
|