【问题标题】:Trying to Get the Earliest Date using MIN()尝试使用 MIN() 获取最早日期
【发布时间】:2016-05-29 17:28:00
【问题描述】:
SELECT ID, AppID, Description, Min([Transaction Date]) AS 'Transacton Date'
FROM AppProsHist
WHERE [Description]='Non-Final Rejection'
GROUP BY ID, AppID, Description

我认为这将只允许在我的表格中显示第一个(最早的)交易日期,但是,这仍然显示每个交易日期。有没有办法改变这一点,以便我只收到一个 ID、AppID、描述的日期?

【问题讨论】:

  • SELECT ... FROM ... WHERE... ORDER BY... LIMIT 1
  • 不,我需要其他字段,但我只想找到一个日期。所以以上所有内容都是正确的,但是我只想显示第一个/最早的日期。

标签: sql ms-access ms-access-2013 min


【解决方案1】:

您应该使用ORDER BYLIMIT 1 来获取有序集的第一条记录。 ASCDESC 同时排序将设置排序的方向。所以试试

SELECT TOP 1 ID, AppID, Description, Min([Transaction Date]) AS TransactionDate
FROM AppProsHist
WHERE [Description]='Non-Final Rejection'
GROUP BY ID, AppID, Description
ORDER BY TransactionDate DESC, ID

【讨论】:

  • Access 给我一个弹出错误提示“ORDER BY 子句中的语法错误”然后突出显示“LIMIT”。我该怎么做才能解决这个问题?
  • 在别名中使用空格通常是个坏主意。所以我用新别名 TransactionDate 更新了我的答案
  • 哦,对不起,我的代码有错字,我再次更新了它
  • 我认为我遇到的问题与“DESC”之后的“LIMIT”有关。这就是语法错误不断出现的原因。您对如何解决该错误有任何想法吗?
猜你喜欢
  • 1970-01-01
  • 2021-06-21
  • 1970-01-01
  • 2021-11-14
  • 2011-07-12
  • 2020-02-04
  • 1970-01-01
  • 2021-09-29
  • 2021-03-19
相关资源
最近更新 更多