Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 安排在某个日期范围内工作。我试图让我发布的示例保持简单,这就是为什么我没有提到另一个表的原因。下次我肯定需要更详细的描述。@DonnyK:这对我来说不是问题。我只是指出,要获得“所有用户”的列表,我们可能不希望依赖(不幸命名的)表“table1”。 ta_Mysql_Date_Distinct_Overlapping - Fatal编程技术网

Mysql 安排在某个日期范围内工作。我试图让我发布的示例保持简单,这就是为什么我没有提到另一个表的原因。下次我肯定需要更详细的描述。@DonnyK:这对我来说不是问题。我只是指出,要获得“所有用户”的列表,我们可能不希望依赖(不幸命名的)表“table1”。 ta

Mysql 安排在某个日期范围内工作。我试图让我发布的示例保持简单,这就是为什么我没有提到另一个表的原因。下次我肯定需要更详细的描述。@DonnyK:这对我来说不是问题。我只是指出,要获得“所有用户”的列表,我们可能不希望依赖(不幸命名的)表“table1”。 ta,mysql,date,distinct,overlapping,Mysql,Date,Distinct,Overlapping,安排在某个日期范围内工作。我试图让我发布的示例保持简单,这就是为什么我没有提到另一个表的原因。下次我肯定需要更详细的描述。@DonnyK:这对我来说不是问题。我只是指出,要获得“所有用户”的列表,我们可能不希望依赖(不幸命名的)表“table1”。 table1 ------------------------------------------------ id user_id name start_date end_date ------------------


安排在某个日期范围内工作。我试图让我发布的示例保持简单,这就是为什么我没有提到另一个表的原因。下次我肯定需要更详细的描述。@DonnyK:这对我来说不是问题。我只是指出,要获得“所有用户”的列表,我们可能不希望依赖(不幸命名的)表“table1”。
 table1
 ------------------------------------------------
 id   user_id   name     start_date    end_date
 ------------------------------------------------
 1      1       john     2016-04-02    2016-04-03
 2      2       steve    2016-04-06    2016-04-06
 3      3       sarah    2016-04-03    2016-04-03
 4      1       john     2016-04-12    2016-04-15
table1
------------------------------------------------
id   user_id   name     start_date    end_date
------------------------------------------------
2      2       steve    2016-04-06    2016-04-06
4      1       john     2016-04-12    2016-04-15
SELECT DISTINCT id, user_id, name, start_date, end_date 
FROM table1 
WHERE ('{$startDate}' NOT BETWEEN start_date AND end_date 
AND '{$endDate}' NOT BETWEEN start_date AND end_date  
AND start_date NOT BETWEEN '{$startDate}' AND '{$endDate}' 
AND end_date NOT BETWEEN '{$startDate}' AND '{$endDate}');
 SELECT user_id DISTINCT FROM table1 WHERE (DATEDIFF(_input_,start_date) > 0 AND 
                DATEDIFF(_input_,end_date) > 0) OR 
                (DATEDIFF(_input_,start_date) < 0);
INSERT INTO table1 VALUES  (5,2,'steve', '2016-04-01','2016-04-04')
-- users that are "unavailable" due to row with overlap
SELECT t.user_id
  FROM table1 t
 WHERE t.end_date   >= '2016-04-03'  -- start of requested period
   AND t.start_date <= '2016-04-03'  -- end of requested_period
 GROUP
    BY t.user_id   
SELECT l.user_id
  FROM table1 l
 GROUP BY l.user_id
SELECT a.user_id
  FROM ( -- list of all users 
         SELECT l.user_id
           FROM table1 l
          GROUP BY l.user_id
       ) a
  LEFT
  JOIN ( -- users that are unavailable due to overlap
         SELECT t.user_id
           FROM table1 t
          WHERE t.end_date   >= '2016-04-03'  -- start of requested period
            AND t.start_date <= '2016-04-03'  -- end of requested_period
          GROUP
             BY t.user_id
       ) u
    ON u.user_id = a.user_id
 WHERE u.user_id IS NULL