MySQL 사용법, 여러 회사 성과 비교하기위한 비교 쿼리

Updated on 2021-10-28 by

MySQL 사용법 중의 하나로 여러 회사의 지표를 동시해 비교할 수 있는 비교 데이터를 뽑는 방안에 대해서 살펴보겠습니다.

기본 쿼리

우선 요청하신 기본 쿼리는 다음과 같습니다.

SELECT quarter_fy, (
    SELECT revenue_yoy
    FROM `company` AS s
    WHERE s.company = 'Intel'
      AND s.quarter_fy = t.quarter_fy
      AND date IS NOT NULL
  ) AS Intel,
  ( SELECT revenue_yoy
    FROM `company` AS s
    WHERE s.company = 'Micron'
      AND s.quarter_fy = t.quarter_fy
      AND date IS NOT NULL
  ) AS Micron
FROM company AS t
GROUP BY quarter_fy
ORDER BY quarter_fy ASC
Code language: PHP (php)

기본 쿼리에서 회사를 추가하고 싶다면

위에서 소개한 기본 쿼리에서 다른 회사를 추가해 비교하고 싶다면, 예를 들어 나이키를 추가하고 싶다면 아래와 같은 쿼리를 SELECT문에 추가합니다.

( SELECT revenue_yoy
  FROM `company` AS s
  WHERE s.company = 'Nike'
    AND s.quarter_fy = t.quarter_fy
    AND date IS NOT NULL
) AS Nike
Code language: PHP (php)

이 쿼리를 추가한 내용은 아래와 같습니다.

SELECT quarter_fy, (
    SELECT revenue_yoy
    FROM `company` AS s
    WHERE s.company = 'Intel'
      AND s.quarter_fy = t.quarter_fy
      AND date IS NOT NULL
  ) AS Intel,
  ( SELECT revenue_yoy
    FROM `company` AS s
    WHERE s.company = 'Micron'
      AND s.quarter_fy = t.quarter_fy
      AND date IS NOT NULL
  ) AS Micron,

/*  
아래 부분이  Nike라는 회사를 추가할때 추가된 쿼리문입니다.
*/
  ( SELECT revenue_yoy
  FROM `company` AS s
  WHERE s.company = 'Nike'
    AND s.quarter_fy = t.quarter_fy
    AND date IS NOT NULL
) AS Nike
/*  
추가된 쿼리문 끝
*/

FROM company AS t
GROUP BY quarter_fy
ORDER BY quarter_fy ASC
Code language: PHP (php)

시계열 데이터에 null 값이 있으면

기준이 되는 컬럼에 null 값이 있다면, 아래는 quarter_fy에 null 값이 있는 경우 WHERE quarter_fy IS NOT NULL을 추가합니다.

SELECT quarter_fy, (
    SELECT revenue_yoy
    FROM `company` AS s
    WHERE s.company = 'Intel'
      AND s.quarter_fy = t.quarter_fy
      AND date IS NOT NULL
  ) AS Intel,
  ( SELECT revenue_yoy
    FROM `company` AS s
    WHERE s.company = 'Micron'
      AND s.quarter_fy = t.quarter_fy
      AND date IS NOT NULL
  ) AS Micron,
  ( SELECT revenue_yoy
  FROM `company` AS s
  WHERE s.company = 'Nike'
    AND s.quarter_fy = t.quarter_fy
    AND date IS NOT NULL
) AS Nike
FROM company AS t
WHERE quarter_fy IS NOT NULL
GROUP BY quarter_fy
ORDER BY quarter_fy ASC
Code language: PHP (php)

NULL 값을 빈 공백으로 출력하려면

NULL 값은 데이터가 없는 데이터이므로 빈 공백으로 출력하고 싶으시면 IFNULL(…, ”) 으로 변경합니다.

SELECT quarter_fy,
  IFNULL((
    SELECT revenue_yoy
    FROM `company` AS s
    WHERE s.company = 'Intel'
      AND s.quarter_fy = t.quarter_fy
      AND date IS NOT NULL
  ), '') AS Intel,
  IFNULL((
    SELECT revenue_yoy
    FROM `company` AS s
    WHERE s.company = 'Micron'
      AND s.quarter_fy = t.quarter_fy
      AND date IS NOT NULL
  ), '') AS Micron,
  IFNULL(( SELECT revenue_yoy
  FROM `company` AS s
  WHERE s.company = 'Nike'
    AND s.quarter_fy = t.quarter_fy
    AND date IS NOT NULL
  ), '') AS Nike
FROM company AS t
WHERE quarter_fy IS NOT NULL
GROUP BY quarter_fy
ORDER BY quarter_fy ASC
Code language: PHP (php)

참고

MySQL 사용법, 데이타베이스 & 테이블 & 컬럼 생성하기

MySQL 사용법, 최근 데이터 조회 방법, 최근 3개월 데이터 등등

MySQL 사용법, 데이터 추출 기간 설정하기, 날짜 범위 데이터 추출 방법

MySql 최적화로 빨라질 사이트 DB 튜닝 방법

새롭게 뉴스레터를 시작했습니다.

1️⃣ 주식 등 투자 정보 : 기업 분석, IB 투자의견 등 투자 관련 내용
..... 테슬라 실적 및 IB들의의 테슬라 투자의견
2️⃣ 사례 및 트렌드 : 사례연구와 트렌드 관련 괜찮은 내용
.....유튜브와 경쟁대신 구독 전환한 비디오 플래폼 비메오 사례

서울에 생긴 Vultr 서버 100$ 프로모션

안녕하세요?
새로운 사이트 구축을 위한 신규 서버를 고민하신다면 , 서울 리젼이 생겨 더욱 빨라진 Vultr 서버를 Vultr 100$ 프로모션으로 이용해 보세요.

아래 프로모션 코드 링크를 통해 Vultr에서 서버 구축 후 1달 이상 사용 및 $25이상 결제 時 추가 100$을 주는 프로모션입니다.

Vultr는 서울에도 리젼이 있어 매우 빠르고, 아마존 웹 서비스(AWS)보다 성능이 높으며 가장 가성비가 뛰어납니다.

거기다 사용자 UI도 좋고, 15개까지 스냅샷을 무료로 제공하기 때문에 관리하기 좋습니다. 그리고 지금 100$ 프로모션처럼 가격적인 메리트도 있습니다.

우분투 20.04와 PHP 8 기반 워드프레스 설치 방법

가상 서버를 운영하고픈 勇者에게 전하는 가상 서버 운영 입문 노하우 – Vultr 가상서버호스팅(VPS)를 중심으로

워드프레스 최적화를 위한 18개월간의 고민, 그 노하우를 담다.

도쿄 리젼과 비교해 본 Vultr 서울 리젼 사용기

가성비가 뛰어난 Vultr 가상서버호스팅(클라우드호스팅,VPS) 사용기

Subscribe
Notify of
guest
0 Comments
Oldest
Newest
Inline Feedbacks
View all comments