首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SQL Sybase ASE -选择最新日期和最高价格

SQL Sybase ASE -选择最新日期和最高价格
EN

Stack Overflow用户
提问于 2016-12-14 19:59:22
回答 2查看 3.3K关注 0票数 2

我正在开发/15.7/EBF 25127 SMP SP136 /P/x86_64/Enterprise /ase157sp136x/3955/64位/FBO/Mon 19:12:00 2015

我有一个表,其中包括多个日期和价格的记录,我希望选择最近的日期和价格是最高或最高。

对于错误消息,max()函数似乎无法工作,只返回数十万条记录。当我尝试Row_number()Rank() OVER (按列名顺序划分)时,在OVER是不正确的附近收到一个语法错误。在读取其他线程时,看起来这在Sybase ASE中是不可用的。

还有别的方法可以做到这一点吗?

表中一条记录的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

预期输出(每条记录只有一行,没有重复):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ID     TRADE_DATE  TRADE_PRICE
B52A   05/16/2016  90

我的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

另外,如果我试着做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT
ID,
MAX(TRADE_DATE),
MAX(TRADE PRICE)

FROM T2
WHERE ID ='B52A'

GROUP BY
  ID
ORDER BY
  ID
  TRADE_DATE
  TRADE_PRICE

它选择正确的记录,但它重复了5次:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
EN

回答 2

Stack Overflow用户

发布于 2017-06-27 13:00:05

您不能使用OVER语法,因为SAP/Sybase ASE数据库不支持它。

您需要手动编写SQL代码。一个例子是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT
  T1.ID, x.max_TRADE_DATE, max(TRADE_PRICE) AS max_TRADE_PRICE
FROM 
(
  SELECT ID, MAX(TRADE_DATE) AS max_TRADE_DATE
  FROM T1 GROUP BY ID
) x 
JOIN
  T1 on T1.ID = x.ID and T1.TRADE_DATE = x.max_TRADE_DATE
GROUP BY
  T1.ID, x.max_TRADE_DATE
票数 0
EN

Stack Overflow用户

发布于 2022-06-23 10:18:19

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT distinct * FROM (SELECT
ID,
MAX(TRADE_DATE) trade_date,
MAX(TRADE PRICE) trade_price

FROM T2
WHERE ID ='B52A'

GROUP BY
  ID
)
ORDER BY
  ID,
  TRADE_DATE,
  TRADE_PRICE
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41156199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文