Prestoで利用するコマンドでよく使うものをまとめていきます。

スポンサーリンク

テーブルの項目の属性とコメントを確認する

SHOW COLUMNS FROM table1
  
>Column,  Type, Extra, Comment
 id        , varchar,      , ID
 Time   , varchar,       , Time
 flg       , Bigint  ,       , flg

2つのテーブルからflg情報を取得し、値が存在したものを設定する。

SELECT
  ID
  , COALESCE(t1.flg, t2.flg, 0) AS status  -- # 左の値がnullでなければ、それを設定する
FROM 
  table1 AS t1
FULL OUTER JOIN
  table2 AS t2
ON
  t1.id = t2.id
スポンサーリンク

2文字列の中から複数の値をワイルドカード検索する 

-- 普通のLIKE指定だと文字列が含むもののみだが、この指定だと複数範囲の値も抽出可能
SELECT
  *
FROM
  table1
WHERE
  REGEXP_LIKE(ID, '[2-5]' )  -- # IDに2,3,4,5が含まれるもののみ抽出する

rownumを使って連番をつける方法 

-- 以下ではid毎に連番をつける、その際にid, typeで並び替えてから連番をつける
SELECT 
  ROW_NUMBER() OVER( PARTITION BY id ORDER BY id, type) AS rownum
  , id
  , type
FROM 
  table1

IFを利用して一つの項目から比率を求める 

-- 以下では、kounyu_kbn に1(購入者)が入っている顧客とそれ以外の顧客を判定し、日別で購入率を算出している
select 
  target_date
  , COUNT(IF(kounyu_kbn=1,1,NULL)) AS kounyu_UU
  , COUNT(kounyu_kbn) AS  all_UU
  , COUNT(IF(kounyu_kbn=1,1,NULL)) * 1.0 / COUNT(kounyu_kbn) AS kounyu_rate
from 
  table1
group by 
  target_date
おすすめの記事