按访问单独的列分组
group by access seperate column
我是 SQL 的新手,有以下(看似简单的)数据库查询。
我有一个 table 包含一组员工的所有时间跟踪信息:
date employeeId timeIn timeOut
01/01/20 1355 12:00 4:00
01/01/20 1355 4:30 6:00
01/01/15 1234 9:00 12:00
02/01/15 5555 5:00 6:00
02/01/15 1111 1:00 4:00
对于每个日期,我想计算工作的唯一员工数量,以 table 结尾,例如:
date totalEmployeesWorked
01/01/15 2
02/01/15 2
还有几个我想忽略的 ID。到目前为止我想出了:
我在 MS Access 2003 中尝试过以下查询:
SELECT [TimeTrackingLog-sql].date, COUNT(DISTINCT callerName)
FROM [TimeTrackingLog-sql]
GROUP by [TimeTrackingLog-sql].date
它抱怨 'missing operator',强调我对 callerName 的使用。
好消息是您的查询完全合法(而且直接!)ANSI SQL,它适用于任何合理的数据库。坏消息是您使用的 MS Access 不支持此语法。
它可以通过子查询解决,但是:
SELECT t.date, COUNT(*)
FROM (SELECT DISTINCT [TimeTrackingLog-sql].date,
[TimeTrackingLog-sql].callerName
FROM [TimeTrackingLog-sql]) t
GROUP BY t.date
这将起作用:-
SELECT date, count(distinct `employeeId`) FROM `table_name` group by date;
我是 SQL 的新手,有以下(看似简单的)数据库查询。
我有一个 table 包含一组员工的所有时间跟踪信息:
date employeeId timeIn timeOut
01/01/20 1355 12:00 4:00
01/01/20 1355 4:30 6:00
01/01/15 1234 9:00 12:00
02/01/15 5555 5:00 6:00
02/01/15 1111 1:00 4:00
对于每个日期,我想计算工作的唯一员工数量,以 table 结尾,例如:
date totalEmployeesWorked
01/01/15 2
02/01/15 2
还有几个我想忽略的 ID。到目前为止我想出了:
我在 MS Access 2003 中尝试过以下查询:
SELECT [TimeTrackingLog-sql].date, COUNT(DISTINCT callerName)
FROM [TimeTrackingLog-sql]
GROUP by [TimeTrackingLog-sql].date
它抱怨 'missing operator',强调我对 callerName 的使用。
好消息是您的查询完全合法(而且直接!)ANSI SQL,它适用于任何合理的数据库。坏消息是您使用的 MS Access 不支持此语法。
它可以通过子查询解决,但是:
SELECT t.date, COUNT(*)
FROM (SELECT DISTINCT [TimeTrackingLog-sql].date,
[TimeTrackingLog-sql].callerName
FROM [TimeTrackingLog-sql]) t
GROUP BY t.date
这将起作用:-
SELECT date, count(distinct `employeeId`) FROM `table_name` group by date;