我正在学习数据库,我有两个问题:
我如何找出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进行更正。