首页 > 解决方案 > T-SQL 最大权重查询

问题描述

我有一个包含这些列的表:

BatchNumber, BagNumber, BagWeight, CumulativeWeight

每批最多可以有 30 个袋子,其他列是不言自明的。

我需要的是一个查询,它可以找到每批的最大累积重量,这是我到目前为止所拥有的。

DECLARE @HighestBagNumber INT;
DECLARE @BatchNumber CHAR(8);

SET @BatchNumber = 37708;

SELECT @HighestBagNumber = MAX(BagNumber) 
FROM FSD3BagLog 
WHERE BatchNumber = @BatchNumber

SELECT BatchNumber, BagNumber, CumulativeWeight 
FROM FSD3BagLog 
WHERE BagNumber = @HighestBagNumber 
  AND BatchNumber = @BatchNumber

这一次只适用于一批,但我需要它来查看表中的所有批次。正如你可能会说的,我是一个完全的初学者,所以请尽可能挑剔,一切都很好。

标签: sql-servertsqlstored-procedures

解决方案


简单GROUP BY应该做的工作:

SELECT BatchNumber, MAX(CumulativeWeight)
FROM my_table
GROUP BY BatchNumber

推荐阅读