下記のようなテーブルがあります。
startからendまでを就業時間とした場合
例)
09:15:00から10:00:00の間で時間がかぶる人数を抽出したい
希望する返り値は三郎以外の3人
テーブルtimetable
|name(TEXT)|dat(DATE)|start(TIME)|end(TIME)|
|:--|:--:|--:|
|花子|2020-10-23|09:00:00|10:00:00|
|次郎|2020-10-23|09:00:00|09:45:00|
|太郎|2020-10-23|09:15:00|10:30:00|
|三郎|2020-10-23|09:00:00|09:15:00|
やってみたこと1
SELECT COUNT(*) AS cnt FROM timetable
AND DATE(dat)='2020-10-23'
AND start<='09:15:00'
AND end>='10:00:00'
返り値 2
やってみたこと2
SELECT COUNT(*) AS cnt FROM timetable
AND DATE(dat)='2020-10-23'
AND (start<='09:15:00 OR end>='10:00:00')
返り値 4
どのような考え方で抽出すればいいのでしょうか
回答2件
あなたの回答
tips
プレビュー