【发布时间】:2014-11-02 17:46:38
【问题描述】:
我们有一个表格可以记录每个employee 的刷卡记录。我正在尝试编写一个查询,以通过今天的第一次滑动来获取不同员工记录的列表。
我们将滑动日期信息保存在datetime 列中。这是我的查询抛出异常。
select distinct
[employee number], [Employee First Name]
,[Employee Last Name]
,min([DateTime])
,[Card Number]
,[Reader Name]
,[Status]
,[Location]
from
[Interface].[dbo].[VwEmpSwipeDetail]
group by
[employee number]
where
[datetime] = CURDATE();
得到错误:
列“Interface.dbo.VwEmpSwipeDetail.Employee First Name”在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
有什么帮助吗?
提前致谢。
【问题讨论】:
-
当使用
min这样的聚合函数时,select中的所有其他字段都应该在聚合函数中或者应该在group by中提及 -
搜索这个错误信息儿子SO,你会发现很多这样的问题:stackoverflow.com/questions/18310391/…
-
谁能告诉我如何解决这个问题
-
这个question的可能副本
标签: sql sql-server group-by aggregate