我们有一个mysql表,其中包含以下字段
employeename, shift from date todate 111aaa, B, 2018-09-01 2018-09-30 222bbb, C, 2017-04-01 2030-12-01
我如何写一个查询,比如当我给出特定的员工编号和日期,比如2018-09-20,它必须显示他的班次为b,因为日期范围在大约第一行的日期范围内。帮帮我。
dsf9zpds1#
你可以试试这个;
SELECT * FROM employees WHERE employeename = '111aaa' AND fromdate <= '2018-09-02' AND todate >= '2018-09-02' ORDER BY fromdate DESC LIMIT 1
这将选择employname为“111aaa”且提供的日期“2018-09-02”在员工记录上介于fromdate和todate之间的员工。它首先使用最新的fromdate对结果进行排序,并且只返回一个结果。
1条答案
按热度按时间dsf9zpds1#
你可以试试这个;
这将选择employname为“111aaa”且提供的日期“2018-09-02”在员工记录上介于fromdate和todate之间的员工。它首先使用最新的fromdate对结果进行排序,并且只返回一个结果。