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

回答編集履歴

1

コード修正

2015/08/21 12:47

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -7,7 +7,8 @@
7
7
  ```SQL
8
8
  SELECT *
9
9
  FROM commpany_list AS m
10
+ WHERE m.delete_flag = false
10
- WHERE NOT EXISTS (
11
+ AND NOT EXISTS (
11
12
  SELECT 1
12
13
  FROM commpany_list AS s
13
14
  WHERE m.company_id = s.company_id
@@ -16,10 +17,10 @@
16
17
  AND m.delete_flag = false
17
18
  AND m.write_datetime < s.write_datetime
18
19
  )
19
- AND m.delete_flag = false
20
20
  ORDER BY write_datetime DESC
21
21
  ```
22
22
  ※動作テストはしていませんので、エラーを含むかも知れません
23
+ ※全く同じ日付で最新日の行が複数存在する場合、ID毎に2行以上抽出してしまいます。
23
24
  ※相関サブクエリを使っているので、データ量が多いとレスポンスが悪くなります。
24
25
 
25
26
  もし可能なら、JAVAのコード経由ではなくて、開発用DBで直接SQLを実行して結果を確認してから組み込んだほうが混乱が少なくてすむと思います。