LoginSignup
1
1

More than 3 years have passed since last update.

[SQL]色々、SQLクエリの小技集

Last updated at Posted at 2019-10-24
1.DATETIME(created_at, "Asia/Tokyo)で、UTCをJSTに変換できる。
2.例えばTable名が

xxx.xx_xx.20190001
xxx.xx_xx.20190002
の様に連番になっていて、その複数を指定したい時。

FROM xxx.xx_xx.2019*の様にして
WHERE _TABLE_SUFFIX = "0001"
の様に指定できる。

WHERE _TABLE_SUFFIX = BETWEEN "0001" and "0004"の様にもできる。

3.WHERE カラム名 IN (xxx, yyy, ...)で、そのカラムのある値だけを抽出出来る。
4.SUM(CASE WHEN xxx = "aaa" THEN 1 ELSE 0 END)

意味xxxの列がaaaであれば、1。それ以外であれば0と変換する。そしてその変換されたものの合計を出す。
→ある列の中の特定の要素だけカウントしたいときに便利

5.WINDOW関数の注意点

LAST_VALUEを使うときにはROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWINGを最後につけなければならない。
どうしてかというと、over内のクエリのデフォルトは、一つ目から自分までしか調べないことになっているから。LAST_VALUEは、自分より比べたいものが後ろにありますよね(並び方にもやりますが)だから、先程の一文を入れないといけないのです。
例文
LAST_VALUE(status)OVER(PARTITION BY id ORDER BY created_at ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOING)

→これがめちゃ詳しい
https://qiita.com/namachapanda20/items/1b3ee91759f040738ac1

https://prestodb.github.io/docs/current/functions/window.html
https://support.treasuredata.com/hc/ja/articles/216392117-Window-関数を使いこなす-集約関数系-

6.UTCとJST

https://qiita.com/ool/items/6be9cc290c8ad9e0f5bc
UTC 協定世界時  UTC + 00:00

JST 日本標準時 UTC + 09:00
例えば
https://www.jisakeisan.com/?t1=utc&t2=jst!

スクリーンショット 2019-10-24 15.08.05.png

7.BIGQUERYショートカット

https://qiita.com/ool/items/9ec04c413622b0c2bfbf
command e で、選択部分の部分実行が可能。中間テーブルの中身を調べる時とかに便利。
command return で全体の実行が可能

8.NULLと0

特にCASE WHEN xxx THEN xxx ELSE NULL or 0 END
のところとか、間違えない様に。


UTCとJST
https://qiita.com/ool/items/6be9cc290c8ad9e0f5bc
今流行りの量子コンピューター
[量子コンピューター]Qisikitでアダマールゲートを実装する
https://qiita.com/ool/items/1a5041edddc11b14efc0
[Qiskitのアカウント認証の仕方]Qiskit IBMQ プロバイダー
https://qiita.com/ool/items/e80c1266cda68984a103
Qiskitの使い方
https://qiita.com/ool/items/2227d2d515caa5087752
[量子コンピューター]Qiskit Tutorials
https://qiita.com/ool/items/2a5038df1471635d442c

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1