【急募】SQLの上達法

1: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:31:14.895 ID:J5xadKRaa
考え方がわからんのや!

2: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:32:30.938 ID:PMe5E5ZWr
MySQLって奴?

 

4: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:33:05.242 ID:J5xadKRaa
>>2
まあそんなやつ

 

3: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:33:01.604 ID:GnYDvrRH0
SQLで本当に難しいのはチューニング

 

5: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:33:24.962 ID:gkvBY8TK0
触れる環境作れ
身近な何かをRDB設計しろ
叩きまくれ

 

6: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:34:12.267 ID:J5xadKRaa
>>5
それしかないか

 

7: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:34:47.113 ID:YsJGtztI0
箱に入ってるものを検索してるだけじゃん

 

8: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:38:49.795 ID:gkvBY8TK0
どういうレベルで分からないかにもよる

 

9: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:40:33.328 ID:dDfj3yIHd
効率的にインデックスサーチするよう設計する

 

10: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:42:08.950 ID:J5xadKRaa

SELECT文

一致するレコードの中で時間が一番遅いとかでグルーピングとかするやつ

 

11: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:44:54.906 ID:gkvBY8TK0
グルーピングか
キーがどれかだけの話やん?

 

12: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:49:20.631 ID:J5xadKRaa
それの応用したやつ

 

13: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:53:43.607 ID:lFN6LguTa
データ構造をちゃんと理解してれば余裕
正規化わからないレベルだとキツい

 

14: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:54:01.758 ID:XIqCLO4Zp
処理順がピンとくるといける

 

15: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:54:08.987 ID:gkvBY8TK0
具体例ある?

 

16: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 11:54:40.184 ID:x4CBSUWz0
数こなす

 

17: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:11:28.579 ID:J5xadKRaa

例えばこんなのすぐできる?

(問)
ID | DATE     | DATA
–+———-+—–
1 | 2007-11-11 | aaa
2 | 2007-11-11 | bbb
1 | 2007-11-10 | ccc
3 | 2007-11-12 | ddd
3 | 2007-11-11 | eee
4 | 2007-11-10 | fff
1 | 2007-11-12 | ggg

このようなテーブルから、下記のように

1 | 2007-11-12 | ggg
3 | 2007-11-12 | ddd
2 | 2007-11-11 | bbb
4 | 2007-11-10 | fff

各idに対して最新の1件だけ抽出するSQLの書き方を教えてください。

 

18: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:12:08.767 ID:J5xadKRaa
答えは見てもうわかるんだが、どう考えていくかがわからん

 

19: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:29:01.338 ID:cVsencC80
select * from T
where (I’d, date) in (
select id,max(date) from T group by id
)

 

20: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:30:16.255 ID:lFN6LguTa

having DATE=max(DATE)

とか出来た気が

 

24: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:33:44.389 ID:lFN6LguTa
>>20
havingじゃなかった

 

21: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:30:46.231 ID:ADWCgmbza
仮想テーブル想像しろ

 

23: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:32:12.989 ID:Ez45f6h90
ゆとりなのでORMしかわからない

 

25: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:36:38.213 ID:+4lUh5fY0
実際にデータベースサーバ作ってコマンド投げてみるとすぐ理解できるよ。
テキストだけ見てても理解に到達するのは難しい。

 

26: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:40:32.423 ID:J5xadKRaa
まあ触りまくるわ

 

27: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:41:13.919 ID:J5xadKRaa

ちな模範解答

select A.ID,
A.DATE,
A.DATA
from TableName A
inner join
(select ID, max(DATE) as MAX_DATE
from TableName
group by ID
) B
on A.ID = B.ID
and A.DATE = B.MAX_DATE
;

 

28: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:55:21.776 ID:vvWuA2kW0

>>27
(´・ω・`)こっちの方が好み

with vipQuery as (
select id, max(date) as maxDate from このようなテーブル
by id, date
)
select * from このようなテーブル
where (id, date) in (select id, maxDate from vipQuery )

 

29: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 13:07:21.639 ID:vRr+02hnM
>>28
こっちのほうがわかりやすいが
知らない人に説明するのが面倒

 

30: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 13:18:05.154 ID:vvWuA2kW0
>>29
(´・ω・`)知らない人はどこから湧いてきたの?

 

22: 以下、5ちゃんねるからVIPがお送りします 2019/01/19(土) 12:32:09.718 ID:SPEBUfFX0
ID重複させんな!

引用元

管理人からひと言

クエリ発行しまくる

 

関連記事

  1. 【IT】Oracle DBの「非公開バグ」が表面化、大阪市基幹システム障害の真相

  2. 【悲報】ワイ客先常駐ITエンジニア(34)、土曜日なのに家でDBの勉強中

  3. データベースとかWEBとかAVに詳しい人

  4. 【東京】「社長や会社に不満があった」…元勤務先の全データを消去 元システム管理者の男(62)を逮捕

  5. oracle11gでora-00600の発生するパターン見付けたんだけど興味ある人おる?

  6. 「オラクル」←どこで知った?

  7. 初心者なんだがMySQLのプロちょっと来てくれ

  8. プログラマーの人いたら教えてほしいんだけどデータベースってファイルみたいに存在するものではないの?

  9. 【IT】MySQL代替系MariaDBがビッグデータ分析スタートアップMammothDBを買収してB…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の人気記事

おすすめ記事

  1. カテゴリ_働き方

新着記事

  1. 閉鎖のお知らせ
  2. SES社長だけど質問ある?
  3. windowsにAI搭載するとか言ってるけどさぁ
  4. 新卒エンジニア僕、資格勉強する気が起きない
  5. 文系学部卒一般企業志望の君の進路はここから選んでもらうぞ!→ 営業・販売・未経験…

ボンブの戯言

  1. 【ボンブの戯言】フリーランスの実態調査をITエンジニアフリーランスの視点から見て…
  2. 【ボンブの戯言】フリーランスが払う税金など6選!私たちはこんなに支払っている!
  3. 【ボンブの戯言】はじめました。
  4. 【ボンブの戯言】ITエンジニアは、なぜうつ病になるのか
  5. 【ボンブの戯言】サーバーって何なの(オンプレに限る)
PAGE TOP