[英]MS-Access query on Min(Fields) based on criteria
Please help me to construct an SQL query to find minimum amt in field AMT based on least date and Name : I want to populate field [Min amt] in an ACCESS Table which is based on least date against Name. 请帮助我构造一个SQL查询,以根据最小日期和名称在字段AMT中查找最小amt:我想在基于最小日期与名称的ACCESS表中填充字段[Min amt]。 For example name A has least date 4/9/17 and its amt is 7000 :
例如,名称A的日期最少为4/9/17,其amt为7000:
Name Date Amt Min Date Min Amt
A 4/12/2017 $1,000.00 4/9/2017 $7,000.00
A 4/11/2017 $2,000.00 4/9/2017 $7,000.00
B 4/10/2017 $3,000.00 4/10/2017 $3,000.00
B 4/11/2017 $4,000.00 4/10/2017 $3,000.00
C 4/10/2017 $5,000.00 4/10/2017 $5,000.00
C 4/11/2017 $6,000.00 4/10/2017 $5,000.00
A 4/9/2017 $7,000.00 4/9/2017 $7,000.00
I would recommend that you not actually create those computed columns. 我建议您不要实际创建这些计算列。 They could easily be invalidated as soon as new data comes in, rendering them useless to you.
一旦有新数据传入,它们很容易失效,从而使它们对您毫无用处。
Instead, I would recommend just creating a report showing the earliest amounts for each name: 相反,我建议您仅创建一个显示每个名称最早金额的报告:
SELECT t1.Name, t1.Date, t1.Amt,
t2.[Min Date],
t2.[Min Amt]
FROM yourTable t1
INNER JOIN
(
SELECT t1.Name, t1.Date AS [Min Date], t1.Amt AS [Min Amt]
FROM yourTable t1
INNER JOIN
(
SELECT Name, MIN(Date) AS min_date
FROM yourTable
GROUP BY Name
) t2
ON t1.Name = t2.Name AND
t1.Date = t2.min_date
) t2
ON t1.Name = t2.Name
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.