Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.

3278 단어 MySQLSQLredash

Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.



개요



최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다.

목차


  • Redash란?
  • 월별로 데이터를 표시하고 싶습니다
  • 주별로 데이터를 표시하고 싶습니다
  • 날짜 지정 방법
  • having
  • case when 과 or null
  • 데이터 연계

  • 1. Redash란?



    Redash는 SQL 분석 결과를 명확하게 시각화하고 공유하는 오픈 소스 BI 도구입니다.

    간단하게 말하면, DB의 데이터나 Google 애널리틱스등으로부터 데이터를 취득해 와, 그래프등에 표시시켜 줍니다
    또, 정기적으로 작성한 쿼리의 실행이나, slack에 그래프의 표시 등 여러가지 편리한 툴입니다
    htps : // Reda sh. 이오/

    2. 월별로 데이터를 표시하고 싶습니다.



    매월 사용자 수의 변화를보고 싶을 때 사용합니다.
    //月ごと
    DATE_FORMAT(date,![スクリーンショット 2021-02-13 22.04.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472696/21b04bae-6761-9cb0-170e-dbf57368b5e2.png)
     '%Y-%m')
    
    //group by を使用して月ごとに分ける
    group by DATE_FORMAT(date, '%Y-%m') 
    

    3. 주별로 데이터를 표시하고 싶습니다.



    달이 아니라 더 세밀하게 주간에보고 싶을 때 사용할 수 있습니다.
    //週ごと
    DATE_FORMAT(consultation_date, '%Y-%U weeks') 
    
    //group by を使用して週ごとに分ける
    group by week 
    

    4. 날짜 지정 방법



    달이나 주가 아니고, 그 때 원하는 값을 원하기 때문에, 지정해 데이터를 취득하고 싶은 경우에 사용할 수 있습니다
    WHERE 
        date >= "{{start_date}}"
       AND date <= "{{end_date}}"
    



    5. having



    having은 group by와 함께 사용
    staff_id로, 합계 금액이 1 만엔 이상에 해당하는 값만 표시하고 있습니다.
    group by staff_id
    having sum(money) >= 10000 
    

    6. case when 과 or null



    예를 들어 남녀 각각의 인원수를 내고 싶을 때 사용할 수 있습니다
    select
     case sex
            when 'man' then '男性'
            when 'woman' then '女性'
        end as '性別',
        count(sex) as '人数'
    from members
    where date >= "2021-02-01"
     group by 性別
    
    


    or null 를 사용해도 인원수는 낼 수 있습니다
    select
     count(sex = "man" or null) as 男性,
     count(sex = "woman" or null) as 女性
    from members
    where registration_date >= "2021-02-01"
    



    차이
    case when 내가주지 않아.


    7. 데이터 연계



    이 데이터 연계는 애널리틱스에서 데이터를 취득하고 싶을 때에도 활용할 수 있으며, 하나의 쿼리로 잘 취득할 수 없을 때나, gorup by로 기준을 각각 나누고 싶을 때에 2개의 쿼리를 만들어 최종적으로는 1개의 그래프 표시하고 싶을 때 등에 활용할 수 있습니다.
    SELECT
        a.name,
        b.year
    FROM query_111 a
    LEFT JOIN query_112 b ON b.id = a.staff_id
    

    좋은 웹페이지 즐겨찾기