Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to compare data between two years ?

Christian PitetFeb 23 2023 — edited Feb 23 2023

Hi,

I have a table with data about the electricity consumption every month or so on different sites.

I would like to compare the difference between the consumption of a site between two years given in two variables. For example :YEAR1 would contain ‘2021’ and :YEAR2 would contain ‘2022’.

CREATE TABLE "FL_ENGIE_ELEC" 
   (	"ID" NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE  NOKEEP  NOSCALE  NOT NULL ENABLE, 
    "DÉSIGNATION_SITE" VARCHAR2(255 BYTE), 
    "DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION" DATE, 
    "DATE_DE_FIN_DE_PÉRIODE_DE_CONSOMMATION" DATE, 
    "CONSOMMATION_TOTALE__KWH_" NUMBER, 
     PRIMARY KEY ("ID")

And data (I have already grouped the dates for a year, otherwise it would have been too much data) :

(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('ACHERES P7 VALENTON',to_date('01/01/2018 00:00','DD/MM/YYYY HH24:MI'),688100);
Insert into FL_ENGIE_ELEC ("DÉSIGNATION_SITE","TRUNC(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('ACHERES P7 VALENTON',to_date('01/01/2019 00:00','DD/MM/YYYY HH24:MI'),225040);
Insert into FL_ENGIE_ELEC ("DÉSIGNATION_SITE","TRUNC(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('ACHERES P7 VALENTON',to_date('01/01/2020 00:00','DD/MM/YYYY HH24:MI'),279970);
Insert into FL_ENGIE_ELEC ("DÉSIGNATION_SITE","TRUNC(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('ACHERES P7 VALENTON',to_date('01/01/2022 00:00','DD/MM/YYYY HH24:MI'),311105);
Insert into FL_ENGIE_ELEC ("DÉSIGNATION_SITE","TRUNC(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('BNE99782 STEU DU MOULIN DE GRANVILLE',to_date('01/01/2017 00:00','DD/MM/YYYY HH24:MI'),142060);
Insert into FL_ENGIE_ELEC ("DÉSIGNATION_SITE","TRUNC(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('BNE99782 STEU DU MOULIN DE GRANVILLE',to_date('01/01/2018 00:00','DD/MM/YYYY HH24:MI'),853170);
Insert into FL_ENGIE_ELEC ("DÉSIGNATION_SITE","TRUNC(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('BNE99782 STEU DU MOULIN DE GRANVILLE',to_date('01/01/2019 00:00','DD/MM/YYYY HH24:MI'),917900);
Insert into FL_ENGIE_ELEC ("DÉSIGNATION_SITE","TRUNC(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('BNE99782 STEU DU MOULIN DE GRANVILLE',to_date('01/01/2020 00:00','DD/MM/YYYY HH24:MI'),831045);
Insert into FL_ENGIE_ELEC ("DÉSIGNATION_SITE","TRUNC(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('BNE99782 STEU DU MOULIN DE GRANVILLE',to_date('01/01/2021 00:00','DD/MM/YYYY HH24:MI'),1142755);
Insert into FL_ENGIE_ELEC ("DÉSIGNATION_SITE","TRUNC(DATE_DE_DÉBUT_DE_PÉRIODE_DE_CONSOMMATION,'YEAR')","SUM(CONSOMMATION_TOTALE__KWH_)") values ('BNE99782 STEU DU MOULIN DE GRANVILLE',to_date('01/01/2022 00:00','DD/MM/YYYY HH24:MI'),763080);

Thank you for your kind help.

This post has been answered by Frank Kulash on Feb 24 2023
Jump to Answer
Comments
Post Details
Added on Feb 23 2023
20 comments
486 views