-3

すべての行で最大値を持つデータが必要ですがinstrn_id、最大値は t が 1 行しか返らないため使用できません。

instrn_id ordr_id

599999  1659
599999  1659
599999  1659
599998  1633
599998  1633
599998  1633
599660  1659
599659  1633
599321  1659
599321  1659
599321  1659
599320  1633
599320  1633
599320  1633
598979  1659
598978  1633
598638  1659
598638  1659
598638  1659
598637  1633
598637  1633
4

3 に答える 3

4

次のようなものかもしれません:

SELECT *
FROM _yourtable_
WHERE instr_id = (SELECT MAX(instr_id) from _yourtable_)
于 2013-11-04T13:30:44.500 に答える
0
SELECT *
FROM 
_yourtable_ t1
JOIN
(SELECT MAX(instr_id) m FROM _yourtable_) t2
ON t1.instr_id  = m
于 2013-11-04T13:47:11.867 に答える
0

これは mssql で機能します。オラクルの構文は同じだと思います:

;with x as
(
select *, rank() over (order by ordr_id desc) rnk 
from <table>
) 
select instrn_id, ordr_id
from x
where rnk = 1
于 2013-11-04T14:06:49.320 に答える