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重複させんな!
クエリ発行しまくる
この記事へのコメントはありません。