基本上这个问题是在采访中提出的,我无法回答。
员工表如下:
ghci> quickCheck $ prop_flat flatten' reverseflatten'
+++ OK, passed 100 tests.
现在,我必须找到在2017年工作的所有雇员的ID。
能帮我吗?
答案 0 :(得分:2)
您可以尝试如下操作:
SELECT id FROM employee
WHERE YEAR(start_date) <= 2017 AND (end_date IS NULL OR YEAR(end_date) >= 2017)
希望此查询不需要解释,因为它很清楚)
答案 1 :(得分:1)
这只是重叠范围问题,可以通过以下查询解决:
SELECT id, name
FROM employees
WHERE
('2017-01-01' <= end_date OR end_date IS NULL) AND
'2017-12-31' >= start_date;
答案 2 :(得分:0)
我认为这会做到的
$a
[1] 1 2
$b
[1] 1 2 3 4 5
$c
[1] 1 2 3