我想检索第一季度或第一个月加入的员工的记录。我试过这个但是得不到正确答案......
SELECT * FROM table
WHERE DOJ(date_created) = DOJ(CURRENT_DATE - INTERVAL 1 MONTH)
请帮助我!
答案 0 :(得分:0)
回答评论中澄清的问题......
SELECT * FROM table
WHERE YEAR(table.doj) = 2015 AND QUARTER(table.doj) = 1
如果您想要“前一年的第一季度”......
SELECT * FROM table
WHERE YEAR(table.doj) = YEAR(CURRENT_DATE) - 1 AND QUARTER(table.doj) = 1
在任何一种情况下,请注意,没有代码可以包含第一个月,因为这是第一季度的一部分。但是,如果你想明确表达(略微受到性能影响),你可以按如下方式对其进行编码......
SELECT * FROM table
WHERE YEAR(table.doj) = 2015 AND (QUARTER(table.doj) = 1
OR MONTH(table.doj) = 1)
如果因为你有很多记录但只有table.doj
上的索引而遇到性能问题,你也可以在明确的日期范围内编写查询......
SELECT * FROM table
WHERE table.doj >= '2015-01-01' AND table.doj <= '2015-03-31'