>

다음 표 "판매"가 있습니다

date        revenue
2018-06-01  300
2018-06-02  400
2019-06-01  500
2019-06-02  700

현재 연도 대 전년도 매출을 현재 날짜와 비교하고 다음 결과를 얻고 싶습니다.

date        revenue 2019    revenue 2018
2019-06-01  500             300
2019-06-02  700             400

어떤 쿼리를 사용해야합니까?

문제는 2018 년 수익을 어떻게 든 2019 년 수익으로 그룹화해야한다는 것입니다.

  • 답변 # 1

    자기 가입으로 할 수 있습니다 :

    select 
      s1.date,
      s1.revenue revenue2019,
      s2.revenue revenue2018
    from sales s1 inner join sales s2
    on s1.date = s2.date + interval '1' year
    where date_part('year', s1.date) = 2019
    
    

    데모를보십시오.
    결과 :

    > date       | revenue2019 | revenue2018
    > :--------- | ----------: | ----------:
    > 2019-06-01 |         500 |         300
    > 2019-06-02 |         700 |         400
    
    

관련 자료

  • 이전 spring boot - 동시 다중 요청을 수신 할 때 히카리 연결 풀이 1 개 또는 2 개의 연결 만 사용하는 이유는 무엇입니까?
  • 다음 유휴 리소스가 안드로이드의 두 번째 활동에서 작동하지 않습니다