sql-server - 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
这一次只适用于一批,但我需要它来查看表中的所有批次。正如你可能会说的,我是一个完全的初学者,所以请尽可能挑剔,一切都很好。
解决方案
简单GROUP BY
应该做的工作:
SELECT BatchNumber, MAX(CumulativeWeight)
FROM my_table
GROUP BY BatchNumber
推荐阅读
- php - 在准备语句中调用 connect 作为函数时出错
- facebook - publish_pages 不适用于开发应用程序
- debugging - Access to stdout_lines when using Ansible
- machine-learning - SVM 二元分类器为所有测试数据预测一个类别
- javascript - 从时间戳中减去时区
- azure-devops - 将新开发人员添加到 devops 团队
- c# - 在 Azure 函数中缺少注册时依赖注入注入 null
- java - SpringBoot 休眠,CriteriaBuilder
- c# - 返回类型错误的 Blazor 任务
- tfs - 在 VS2019 中为 TFS2018 编辑 WIT 并且无法保存 (TF237090)