D********n 发帖数: 978 | 1 假设table T里面有一个field叫X. X全都是整数但是分布不规律。如何找到比每个x小
的,最大的数。
举个例子,T是
..., X, ...
___________
..., 3, ...
..., 7, ...
..., 0, ...
..., 6, ...
要求返回
Result
X, lastX
________
3, 0
7, 6
6, 3
我能想到的办法都比较麻烦。谢谢。 | P**l 发帖数: 3722 | 2 没太看懂
你要输出的那个不就是按X排序,把相邻的一对对输出来吗。。 | D********n 发帖数: 978 | 3 对,但是怎么做呢?
【在 P**l 的大作中提到】 : 没太看懂 : 你要输出的那个不就是按X排序,把相邻的一对对输出来吗。。
| S**I 发帖数: 15689 | 4 use "order by" and "row_number()"
【在 D********n 的大作中提到】 : 对,但是怎么做呢?
| D********n 发帖数: 978 | 5 没row_number()可用。但又想在一个query里搞定。
【在 S**I 的大作中提到】 : use "order by" and "row_number()"
| l****3 发帖数: 8 | 6 if subquery is allowed, maybe can do it like:
select T1.x x1,(select max(T2.x) from T T2 where T2.x
orderby x1;
【在 D********n 的大作中提到】 : 假设table T里面有一个field叫X. X全都是整数但是分布不规律。如何找到比每个x小 : 的,最大的数。 : 举个例子,T是 : ..., X, ... : ___________ : ..., 3, ... : ..., 7, ... : ..., 0, ... : ..., 6, ... : 要求返回
| D********n 发帖数: 978 | 7 正解。
【在 l****3 的大作中提到】 : if subquery is allowed, maybe can do it like: : select T1.x x1,(select max(T2.x) from T T2 where T2.x: orderby x1;
|
|