Ms access 子查询-当C列为A列中组的最大值时显示B列
我有3列ID、月份和数量。ID列中有多个组,月份从一月到十二月,如果有足够的值,则循环一个月。我试图找到每个ID组的最大数量,并显示最大数量出现的月份。我正在尝试练习使用子查询,下面是我到目前为止所做的 选择t.ID、t.月、t.数量 自【月数量】t 其中t.Qty=从[每月生产]m中选择最大数量 其中t.ID=m.ID 我正在寻找的例子如下。从 ID月数量 A 1月5日 A 2月8日 B 9月10日 B 10月2日 我想让我的结果显示 ID月数量 A 2月8日 B 9月10日Ms access 子查询-当C列为A列中组的最大值时显示B列,ms-access,Ms Access,我有3列ID、月份和数量。ID列中有多个组,月份从一月到十二月,如果有足够的值,则循环一个月。我试图找到每个ID组的最大数量,并显示最大数量出现的月份。我正在尝试练习使用子查询,下面是我到目前为止所做的 选择t.ID、t.月、t.数量 自【月数量】t 其中t.Qty=从[每月生产]m中选择最大数量 其中t.ID=m.ID 我正在寻找的例子如下。从 ID月数量 A 1月5日 A 2月8日 B 9月10日 B 10月2日 我想让我的结果显示 ID月数量 A 2月8日 B 9月10日 任何帮助都将不胜
任何帮助都将不胜感激,特别是如果可以使用子查询,但如果太仓促,我将接受你能提供的任何帮助。哈哈。我以前也遇到过同样的问题,无法找到一个简单/快速的解决方案 您可以使用select top 1。。。。按Qt desc为每组订购
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;
我正在MS Acess中使用SQL。很抱歉,我在这方面仍然有一些问题。到目前为止,我已经…谢谢你,但我仍然有一些麻烦。我只使用了一个表,所以我不确定如何使用只有一个表的左连接。我尝试将其重做为…从选择ID中选择ID1,Month1,Qty1作为ID1,月份作为Month1,数量作为Qty1从[t1]按ID分组作为t1。现在告诉我这个月不能用在聚合函数中,所以我很确定我还远远不够。有什么建议吗?我编辑了我的第一个回复,因为它不正确,我记得解决方案不是严格的,但它甚至有点复杂。请小心命名月份,它可以是一个保留字。好的,是的,我将月份改为周一,这非常有效!有没有办法提高处理速度?即使我需要修改它链接到的excel工作表?B/c我有超过200000个条目和大约5000个唯一ID。实际上我没有让它贯穿整个200000 b/c,这需要太长时间。我刚刚将大约300个条目复制到另一个wkbk中,它运行得很快,所以我知道它是有效的。我只是想知道有没有办法提高速度。