ACCESS 查询获取相同字段对应最小值

img

img

img


请教一个问题,我现在查询相同LINE_ID下最小timediff的不同字段数值,timediff的计算是now()-STARTED_DTIME,STATUS =5。可以提供以下代码参考吗?图一是access查询设计视图、图二是sql视图、图三是查询表。非常感谢。

你一个问题问怎么反反复复问呀,不是都采纳好几个答案了吗,没解决问题采纳啥
你想找到相同LINE_ID下最小timediff,那肯定是查LINE_ID和timediff,不要把乱七八糟不相干的东西放一起查
如果还想知道跟这个timediff有关的其他信息,那就应该把主键带出来,然后利用主键进行left join去查其他信息,而不是都放select里


select line_id,order_no,br_no,status,started_dtime,now() - started_dtime as timediff
    ,now() - dtime as mintimediff
from process a
    left join (
    select line_id,status,max(started_dtime) dtime
    from process
    group by line_id,status
) b on a.line_id=b.line_id and a.status=b.status
where a.status='5'

参考GPT和自己的思路:

非常感谢您向我咨询这个问题。针对您的需求,以下是一段符合要求的SQL语句:

SELECT LINE_ID, MIN(now()-STARTED_DTIME) as min_timediff,
COUNT(DISTINCT FIELD1) as count_field1,
COUNT(DISTINCT FIELD2) as count_field2,
COUNT(DISTINCT FIELD3) as count_field3
FROM 数据表
WHERE STATUS=5
GROUP BY LINE_ID;

以上语句根据LINE_ID分组,计算每个分组中最小timediff值,以及不同字段的数量。

希望本答案能够对您有所帮助。如有其它问题,请随时向我咨询。