我正在学习数据库,我有两个问题:
我如何找出2010年1月有多少名员工光顾这家商店?

表如下:

X:Employees(PK),VisitDate, EmployeeNumber(FK)
Y:EmployeeNumber
SELECT * FROM `X` WHERE `VisitDate ` BETWEEN '2010-01-01' AND '2010-01-31'


这仅显示了某个月之间访问的人的数据,是否可以找出总人数?

第二个问题是:

我如何使用JOINS来显示EmployeeNumber以及2010年1月有多少名员工去过商店?

最佳答案

要显示一月份的访问人数,您只需按如下所示修改SQL。

SELECT *
FROM
(
    SELECT EmployeeNumber, COUNT(1) AS TotalAmountOfVisitor
    FROM X
    WHERE VisitDate BETWEEN '2010-01-01' AND '2010-01-31 23:59:59'
    GROUP BY EmployeeNumber
) AS RefTable
INNER JOIN Y ON RefTable.EmployeeNumber = Y.EmployeeNumber


感谢@zerkms进行更正。

10-08 12:55