我有3列(ID,月份,& Qty)。ID列中包含多个组,如果有足够的值,这个月将从1月到12月,循环完成。我试图找到每个ID组的最大值(Qty),并显示Max发生的月份。我正在尝试使用Subqueries,所以下面是我到目前为止.
选择t.ID,t.Month,t.Qty
每月Qty t
其中t.Qty =(从月生产m选择最大值(Qty),其中t.ID=m.ID);
下面是我要找的例子。从..。
ID月数量
A 1月5日
2月8日
9月10日
10月2日
我希望我的结果能显示..。
ID月数量
2月8日
9月10日
任何帮助都会很感激,特别是如果它可以有一个子查询,但如果太仓促,我将采取任何你能给哈哈。
发布于 2016-11-16 23:39:05
我以前也遇到过同样的问题,无法像人们所期望的那样找到一个简单的/fast解决方案。
您可以使用选择前1..。每组按Qt顺序排列。
SELECT JustATableWithEachGroup.id,
(SELECT TOP 1 Mon FROM MonProd
WHERE id=JustATableWithEachGroup.id
ORDER BY MonProd.Qty DESC) AS TopMonth,
(SELECT TOP 1 Qty FROM MonProd
WHERE id=JustATableWithEachGroup.id
ORDER BY MonProd.Qty DESC) AS TopQuant
FROM
(SELECT DISTINCT MonProd.ID
FROM MonProd) AS JustATableWithEachGroup;https://stackoverflow.com/questions/40642549
复制相似问题