Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.
개요
최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다.
목차
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
Reference
이 문제에 관하여(Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tiger_taroo/items/e773ca7308e23eb7fab3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)