gpt4 book ai didi

sql - MS ACCESS : selecting only one record per "person" per date 中的子查询

转载 作者:行者123 更新时间:2023-12-01 13:08:38 27 4
gpt4 key购买 nike

我正在使用 Microsoft Access 中名为 analyzed 的表。它有很多字段,但在本例中用于过滤的三个字段是 analyzed.readings_miu_id、analyzed.ReadDate、analyzed.ReadTime。我需要从“已分析”表中提取记录,其中将 readings_miu_id 分组在一起,然后按 ReadDate 排序,但仅显示所述日期的最后一个条目,这可能是 ReadTime 中值(value)最高的时间。我创建了一个查询:

SELECT readings_miu_id, Reading, ReadDate, ReadTime, 
MIUwindow, SN, Noise, RSSI, OriginCol, ColID, Ownage
FROM analyzed
WHERE analyzed.ReadDate Between #4/21/2009# and #4/29/2009#
AND analyzed.ReadTime= (
SELECT TOP 1 analyzed.ReadTime
FROM analyzed
WHERE analyzed.readings_miu_id = *????***
ORDER BY analyzed.ReadTime DESC);

*????*** 用来表示我不确定该放什么

如果我输入有效的 readings_miu_id,我会得到一条记录,该记录的时间最长。

我如何使用像上面那样的子查询来仅提取每个 readings_miu_id 每个 ReadDate 的最后一个 ReadTime?

readings_miu_id 不是表格ID,它更像是Item Number 或Name

最佳答案

 SELECT readings_miu_id
, Reading , ReadDate , ReadTime
, MIUwindow, SN, Noise, RSSI
, OriginCol, ColID, Ownage
FROM analyzed AS A
WHERE analyzed.ReadDate Between #4/21/2009# and #4/29/2009#
AND analyzed.ReadTime=
(SELECT TOP 1 analyzed.ReadTime FROM analyzed
where analyzed.readings_miu_id = A.readings_miu_id
AND analyzed.ReadDate = A.ReadDate
ORDER BY analyzed.ReadTime DESC);

我只是将主表别名为 A,并在子查询中引用它。不确定您是否需要在子查询中按 ReadDate 进行过滤。

关于sql - MS ACCESS : selecting only one record per "person" per date 中的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/883383/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com