期間のいずれかの部分が検索期間内にある、または検索期間と「重複」してIn time
いるアイテムの数が必要であると想定しています。Out time
まず、日付の「重複」が何を意味するのかを徹底的に調べてみましょう。オーバーラップとは、次のいずれかの条件です。
Start1 End1
-------------------------------------------------- -------------------------------
Start2 End2
Start2 End2
Start2 End2
そして、次の条件のいずれでもありません:
Start1 End1
-------------------------------------------------- -------------------------------
Start2 End2
Start2 End2
注意深く見るStart2 < End1 AND End2 > Start1
と、この関係が定義されていることに気付くでしょう。これがあなたのWHERE
条項になります。
したがって、次のことを試してください。
SELECT COUNT(*)
FROM myTable
WHERE '2012-02-02 10:00:00' <= `Out Time`
AND '2012-02-02 11:00:00' >= `In Time`