0

特定のクエリを作成しようとしています。例えば、私はイベントを持つテーブルを持っています:

id |     start        |      end
-----------------------------------------
1  | 10-08-2013 12:00 | 10-08-2013  14:00
2  | 10-08-2013 12:00 | 10-08-2013  14:00
3  | 10-08-2013 15:00 | 10-08-2013  16:00

そして、新しいものを挿入したいのですが、event( start: 13:00, end: 15:30 )その前に、同時にいくつのイベントがあるかをクエリで確認したいと思います。この場合、結果は 3 になります。これは、2 つのイベントが開始時刻にあり、1 つが終了時刻にあるためです。

ありがとう。

4

2 に答える 2

4

オーバーラップの正しいロジックは次のとおりです。

where new_startDate <= end and
      new_endDate >= start
于 2013-02-22T15:18:46.723 に答える
2

これを試してみてください。

SELECT  COUNT(DISTINCT ID) totalCOunt
FROM    tableName
WHERE   new_startDate BETWEEN start AND end 
        OR
        new_endDate BETWEEN start AND end

とはイベントnew_startDatenew_endDate新しい日付です。

于 2013-02-22T15:17:38.340 に答える