查找特定日期内的数据?

时间:2014-01-05 05:35:34

标签: mysql sql database

我正在学习数据库,我有两个问题: 我怎样才能知道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月有多少员工访问该商店?

2 个答案:

答案 0 :(得分:1)

要显示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进行更正。

答案 1 :(得分:0)

1)SELECT count(*)FROM X WHERE VisitDate BETWEEN'2010-01-01'''2010-01-31'

2)你做不到。