teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

推敲

2021/06/17 12:49

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,7 +1,10 @@
1
1
  id毎の最大`code`を除いたものの、最大と最小の`time`に、指定した時刻が含まれる`ID`でないもの。
2
2
  ```SQL
3
3
  select * from tbl
4
+ where (id, `code`) not in (
5
+ select id, max(`code`) from tbl group by id
6
+ )
4
- where id not in (
7
+ and id not in (
5
8
  select id from tbl
6
9
  where (id, `code`) not in (
7
10
  select id, max(`code`) from tbl group by id
@@ -9,7 +12,4 @@
9
12
  group by id
10
13
  having '11:30' between min(`time`) and max(`time`)
11
14
  )
12
- and (id, `code`) not in (
13
- select id, max(`code`) from tbl group by id
14
- )
15
15
  ```

4

訂正

2021/06/17 12:49

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -9,4 +9,7 @@
9
9
  group by id
10
10
  having '11:30' between min(`time`) and max(`time`)
11
11
  )
12
+ and (id, `code`) not in (
13
+ select id, max(`code`) from tbl group by id
14
+ )
12
15
  ```

3

訂正

2021/06/17 12:44

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,10 +1,10 @@
1
- id毎の最大`time`を除いたものの、最大と最小の`time`に、指定した時刻が含まれる`ID`でないもの。
1
+ id毎の最大`code`を除いたものの、最大と最小の`time`に、指定した時刻が含まれる`ID`でないもの。
2
2
  ```SQL
3
3
  select * from tbl
4
4
  where id not in (
5
5
  select id from tbl
6
- where (id, `time`) not in (
6
+ where (id, `code`) not in (
7
- select id, max(`time`) from tbl group by id
7
+ select id, max(`code`) from tbl group by id
8
8
  )
9
9
  group by id
10
10
  having '11:30' between min(`time`) and max(`time`)

2

変更

2021/06/17 12:41

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,8 +1,12 @@
1
+ id毎の最大`time`を除いたものの、最大と最小の`time`に、指定した時刻が含まれる`ID`でないもの。
1
2
  ```SQL
2
3
  select * from tbl
3
4
  where id not in (
4
5
  select id from tbl
6
+ where (id, `time`) not in (
7
+ select id, max(`time`) from tbl group by id
8
+ )
5
9
  group by id
6
10
  having '11:30' between min(`time`) and max(`time`)
7
- )
11
+ )
8
12
  ```

1

推敲

2021/06/17 12:40

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -3,6 +3,6 @@
3
3
  where id not in (
4
4
  select id from tbl
5
5
  group by id
6
- having '11:30' between min(time) and max(time)
6
+ having '11:30' between min(`time`) and max(`time`)
7
7
  )
8
8
  ```