DBアワー出張編 Lv1 ~ Lv2の問題を解いてみる会 2023/8/17
録画・記録範囲レベル1(単一のテーブルについて、条件を指定し、総数等を算出できる)レベル2(複数のテーブルにまたがる基本的なクエリならほぼ書ける)Lv.1select, from, limitテーブル定義を見ようwhere, and, orLv2範囲:時刻についてorder by, offsetcount, sum, avg, group byhavingvisualizationtablechartコメント・セミコロン句Lv2withjoinleft join, is nullcount(応用編)
録画・記録
20230817_DBアワー出張編 Lv1 ~ Lv2の問題を解いてみる会.mp4
Updated Aug 17, 2023
範囲
レベル2(複数のテーブルにまたがる基本的なクエリならほぼ書ける)
- SQL
- having ★
- distinct
- is null, is not null ★
- 算術演算子
- like, in, between
- join, left join ★
- with, サブクエリ(どちらでも書けるように) ★
- タイムゾーンの変換 ★
- union
- 条件式(case, coalesce)
- cast
- Redash
- パラメータ機能 ★
- テーブルのカスタマイズ(Image・URL)
参考
📕 レベル2で覚える機能を使う基本的な問題 (社内のみ公開)
Lv.1
SQL Lv1解説資料
Updated Mar 19, 2024
行けている人が多そうなので、復習から
select, from, limit
テーブル定義を見よう
where, and, or
name = 'qjo' であるユーザのidと年代
id = 144 であるブランドの名前、商品数
Lv2範囲:時刻について
現在時刻
そもそもredshiftとmysqlって何が違うの?
引き算
はキャスト
型はエクセルの表示形式みたいなもの。intervalは時刻と時刻の差を表す
他によく使うのだと (小数)とか
絞り込み
order by, offset
フォロワー数の降順で20位 ~ 40位のユーザの id, 名前, フォロワー数, 投稿数
count, sum, avg, group by
テーブル:articles
target
0 web(Webのみ)
1 app
2 both
3 ios
4 android
5 inpage
閲覧数
view_count
記事のターゲットごとに、個数、平均閲覧数、合計閲覧数
having
テーブル
inquiries
問い合わせ種別
category
getdate()
‘30 day’::interval
having
group by
count
created_at(作成日)で30日以内に絞る
直近30日で、100回以上来た問い合わせ種別(category)
visualization
table
chart
コメント・セミコロン
Cmd + スラッシュ(/)でコメントアウト 戻す
句
関数
count
sum