【问题标题】:How can I get the earliest date to display using the MIN function in MS Access如何使用 MS Access 中的 MIN 函数获取显示的最早日期
【发布时间】:2021-06-21 18:51:01
【问题描述】:

我正在介绍数据库课程。我必须列出员工的最早联系日期以及他们的contactIDcontactType。我拥有的最早日期的代码是:

SELECT MIN (Contact.ContactDate) AS FirstContact
FROM Contact; 

如果我尝试添加其他列,例如:

SELECT MIN (Contact.ContactDate) AS FirstContact, ContactID, ContactType
FROM Contact; 

我收到一条错误消息。我试过嵌套选择语句,但这只会变成更大的混乱。我显然没有使用正确的语法。我已经重新安排了所有内容,但没有什么能提供我需要的结果。

【问题讨论】:

  • 嗨@Ana,如果您收到错误消息,如果您还在问题中包含该错误的详细信息会更有帮助
  • 文本表格的样本数据也很有帮助。
  • 我收到的错误消息是“您的查询不包括指定的表达式 'ContactID' 作为聚合函数的一部分”
  • 具体取决于您需要如何呈现数据结果,我的答案或 Gordon 的答案应该可以帮助您实现目标。由于您只是在学习,因此了解该错误在您的 SELECT 语句的结构方面的含义是很有用的。
  • 是的,实际上,我删除了我的答案,因为我可能误解了。想必Contact表中一定有一个字段来表示员工的ID吧? @Ana,了解“联系人”表和员工表之间的关系可能会有所帮助。 Gordon 的回答将为您提供最早的联系记录,但是就您如何使用“SELEC TOP ....”而言,将取决于您是否逐一显示信息(例如,如果用户选择的是特定员工),或者您想在旁边显示所有员工的列表以及他们最早的联系方式

标签: sql database function ms-access min


【解决方案1】:

改为使用order bytop

SELECT TOP (1) c.*
FROM Contact as c
ORDER BY c.ContactDate;

【讨论】:

    猜你喜欢
    • 2016-05-29
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多