2
我正在研究Adaptive Server Enterprise/15.7/EBF 25127 SMP SP136/P/x86_64/Enterprise Linux/ase157sp136x/3955/64位/ FBO/Mon 10月19日19:12:00 2015SQL Sybase ASE - 選擇最近的日期和最大價格
我有一個包含多個日期和價格的記錄的表,我期待選擇最近的日期和最高或最高的價格。
對於錯誤消息,max()函數似乎不起作用,只是返回了數十萬條記錄。當我嘗試Row_number()或Rank()OVER(按列名排列按列名排序)我在附近收到語法錯誤OVER不正確。在閱讀其他線程時,它看起來像在Sybase ASE中不可用。
是否有另一種方法來實現這一目標?
ID TRADE_DATE TRADE_PRICE
B52A 05/12/2016 91
B52A 05/13/2016 85
B52A 05/13/2016 86
B52A 05/16/2016 85
B52A 05/16/2016 90
期望輸出(每個記錄只有一行,無重複)::
實施例在表中的一個記錄的
ID TRADE_DATE TRADE_PRICE
B52A 05/16/2016 90
我的代碼:
SELECT T1.ID
FROM T1
LEFT JOIN
(SELECT
T2.ID,
T2.TRADE_DATE,
T2.TRADE_PRICE
FROM T2
WHERE ID='B52A')
ON T2.ID=T1.ID
另外,如果我試着做:
SELECT
ID,
MAX(TRADE_DATE),
MAX(TRADE PRICE)
FROM T2
WHERE ID ='B52A'
GROUP BY
ID
ORDER BY
ID
TRADE_DATE
TRADE_PRICE
它選擇正確的記錄,但它重複5次:
ID TRADE_DATE TRADE_PRICE
B52A 05/16/2016 90
B52A 05/16/2016 90
B52A 05/16/2016 90
B52A 05/16/2016 90
B52A 05/16/2016 90