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

  2. データベーススレ

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

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

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

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

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

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

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

コメント

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

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

最近の人気記事

おすすめ記事

新着記事

  1. 【原文ママ】NTTグループ、AIで橋のビビやサビを検出する技術
  2. 米グーグルに独禁法違反疑い、日本の公取委が調査 ヤフー広告を制限
  3. Windows10、定期的に「Windows11にしろ」と全画面表示へ
  4. 【AI】OpenAI、日本語処理を3倍速く 国産AIの脅威に
  5. シャープ液晶子会社SDP、最終赤字1156億円 23年12月期

ボンブの戯言

  1. 【ボンブの戯言】サーバーって何なの(オンプレに限る)
  2. 【ボンブの戯言】フリーランスのメリットを全否定してみた
  3. 【ボンブの戯言】ITエンジニアがフリーランスになる理由
  4. 【ボンブの戯言】はじめました。
  5. 【ボンブの戯言】フリーランスの実態調査をITエンジニアフリーランスの視点から見て…
PAGE TOP