mysql - 查找特定日期内的数据?

标签 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 月访问该商店的员工数量?

最佳答案

要显示一月份的访问人数,您只需按如下方式修改 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 的纠正。

关于mysql - 查找特定日期内的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20930500/

相关文章:

mysql - 用户创建的数据库结构: non-relational or relational databases?

database - 存储来自多个查找表的用户配置文件数据。如何?

mysql - Rails 在 db 的所有列中搜索值而不显式命名它们

mysql - 获取 MySQL 的精美表格格式作为标准输出

sql - 如何将数据从 MongoDB 迁移到 SQL-Server?

sql - 如何使用 Hive 查询 3 个大表的相交值?

sql - 使用 SSIS 将 CSV 文件值合并到现有的 Azure SQL 数据库中

database - 好的数据库设计工具?

php - 如何在不刷新页面的情况下显示商品详情

mysql - 如果字段存在,则在 MySQL 和 BASH 中回显 "something",否则插入表 - 输出到变量?