【急募】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. 「オラクル」←どこで知った?

  2. 日本政府、「純国産PostgreSQL互換データベース」を開発すべくNECに25億円投入

  3. DB業界に激震、MicrosoftがMariaDBに参加

  4. 【IT】データベース ・オブ・ザ・イヤー2018はPostgreSQL

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

  6. データベースというかACCESSを1から学びたいんだが、オススメの本おしえて!

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

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

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

コメント

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

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

最近の人気記事

おすすめ記事

  1. カテゴリ_network
  2. カテゴリ_google
  3. カテゴリ_pc

新着記事

  1. シャープ液晶子会社SDP、最終赤字1156億円 23年12月期
  2. 【CPU】13世代・14世代インテルハイエンドCPUで負荷によりVRAMエラー発…
  3. 増えるタッチパネルに困ってます 視覚障害者には何も伝わらず 「世の中は便利になる…
  4. Microsoft Edge試してるんだけど、広告ブロック拡張機能、なに入れれば…
  5. 柏市で全国初のチャット窓口開設 AIだから気軽に相談を 「助けて」と声に出せない…

ボンブの戯言

  1. 【ボンブの戯言】ITエンジニアがフリーランスになる理由
  2. 【ボンブの戯言】ITエンジニアは、なぜうつ病になるのか
  3. 【ボンブの戯言】フリーランスが払う税金など6選!私たちはこんなに支払っている!
  4. 【ボンブの戯言】ITエンジニアがフリーランスになるときに考える・準備すること
  5. 【ボンブの戯言】サーバーって何なの(オンプレに限る)
PAGE TOP