Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. SELECT *
  2. FROM hoge
  3.  
  4. -- hoge_dateが、2016-10-12から2016-10-13までのデータに絞り込み
  5. -- WHERE hoge_date BETWEEN '2016-10-12' AND '2016-10-13'
  6.  
  7. -- サンプリング: 乱数を生成し、0.5以下のデータ行のみ絞り込み
  8. -- WHERE RANDOM() <= 0.5
  9.  
  10.  
  11. -- WITH句によって、一時テーブルreserve_tb_randomを生成
  12. WITH hoge_random AS(
  13. SELECT
  14. *,
  15.  
  16. -- customer_idに対して一意の値となる乱数の生成
  17. -- 生成した乱数をcustomer_idごとにまとめて、1番目の値を取り出す
  18. FIRST_VALUE(RANDOM()) OVER (PARTITION BY customer_id) AS random_num
  19.  
  20. FROM hoge
  21. )
  22. -- *ですべての列を抽出しているが、random_numを外したい場合は列を指定する必要あり
  23. SELECT *
  24. FROM hoge_random
  25.  
  26. -- 50%サンプリング、customer_idごとに設定された乱数が0.5以下の場合に抽出
  27. WHERE random_num <= 0.5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement