Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MS SQL将max()-1添加到qyery_Sql_Sql Server - Fatal编程技术网

MS SQL将max()-1添加到qyery

MS SQL将max()-1添加到qyery,sql,sql-server,Sql,Sql Server,如何添加到查询maxo.Acct-1行。我需要可视化最后两个o.Acct行。我的查询当前仅显示maxo.Acct SELECT Max(o.Acct) AS [MaxAcct],o.ObjectID,o.Opertype FROM Operations o GROUP By o.ObjectID,o.Opertype 如果你想要最后两个,我想按顺序排列。大概是这样的: select top (2) o.* from Operations o order by o.acct desc; 如果要

如何添加到查询maxo.Acct-1行。我需要可视化最后两个o.Acct行。我的查询当前仅显示maxo.Acct

SELECT Max(o.Acct) AS [MaxAcct],o.ObjectID,o.Opertype
FROM Operations o
GROUP By o.ObjectID,o.Opertype

如果你想要最后两个,我想按顺序排列。大概是这样的:

select top (2) o.*
from Operations o
order by o.acct desc;

如果要查看每组的最后两行,最好使用ROW_NUMBER,而不是group BY


Maxo.Acct-1是[MaxAcct减1]吗?请更清楚地描述您的请求。示例数据和期望的结果会有所帮助。虽然不清楚,但我认为OP希望每个ObjectID/Opertype有两行,而不仅仅是两行。
SELECT
  *
FROM
(
  SELECT
    *,
    ROW_NUMBER() OVER (PARTITION BY ObjectID,
                                    Opertype
                           ORDER BY Acct DESC
                      )
                         AS sequence_id
  FROM
    Operations
)
  sortedOperations
WHERE
  sequence_id <= 2
ORDER BY
  ObjectID,
  Opertype,
  Acct