在SQL查询中是否有诸如SELECT LAST之类的东西?

jbc*_*dge 6 sql sybase

我正在使用sybase数据库查询每日交易报告.我的脚本中有子查询.

在这里:

SELECT orders.accountid ,items.x,etc
(SELECT charges.mistotal FROM charges where items.id = charges.id)
FROM items,orders
WHERE date = '2008-10-02'
Run Code Online (Sandbox Code Playgroud)

在这里,我收到错误消息:

子查询不能返回多个值

我的价值是7.50,25.00

我想要返回25.00,但是当我使用时

(SELECT TOP 1 charges.mistotal FROM charges where items.id = charges.id)
Run Code Online (Sandbox Code Playgroud)

我的结果是7.50,但我想返回25.00

有没有人有更好的建议?

sen*_*nfo 9

SELECT TOP 1 * 
FROM dbo.YourTable 
ORDER BY Col DESC
Run Code Online (Sandbox Code Playgroud)

在你的情况下,我想这将是

SELECT TOP 1 charges.mistotal 
FROM charges where items.id = charges.id 
ORDER BY charges.mistotal DESC
Run Code Online (Sandbox Code Playgroud)


Man*_*ria 2

您根据什么标准选择 25.00 而不是 7.5?

如果它与最大值相关,您可以尝试在该字段上使用MAX()函数。

如果它与按时间顺序添加的最后一行相关,并且您有有关添加的小时和分钟的详细信息,请尝试在日期时间字段上使用MAX() 。