codice:
SELECT
Year([impiegati.DataRegistrazione]) AS Anno,
SUM(case when (impiegati.Code='L') then 1 else 0 end) L,
SUM(case when (impiegati.Code='F') then 1 else 0 end) F,
SUM(case when (impiegati.Code='P') then 1 else 0 end) P,
SUM(case when (impiegati.Code='V') then 1 else 0 end) V,
COUNT(*) as TOTALE
FROM Impiegati
GROUP BY
Year([impiegati.DataRegistrazione]),
ORDER BY Year([impiegati.DataRegistrazione]) DESC;
che db usi?
codice:
CREATE TABLE IMPIEGATI(
DataRegistrazione date,
code VARCHAR(1));
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-06-07', 'L');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-01-07', 'F');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-01-07', 'P');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-01-07', 'V');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-06-07', 'L');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-06-07', 'F');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-06-07', 'P');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-06-07', 'V');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-06-07', 'L');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-06-07', 'F');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-06-07', 'P');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-05-07', 'V');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-05-07', 'L');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2012-05-07', 'L');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-05-07', 'P');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-05-07', 'V');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2012-04-07', 'L');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-04-07', 'F');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-04-07', 'P');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-04-07', 'V');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2012-04-07', 'L');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-04-07', 'F');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-03-07', 'P');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2013-03-07', 'V');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2013-03-07', 'L');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2013-03-07', 'F');
INSERT INTO IMPIEGATI (DATAREGISTRAZIONE, CODE) VALUES ('2014-03-07', 'P');
SELECT
extract(year from impiegati.DataRegistrazione) AS Anno,
SUM(case when (impiegati.Code='L') then 1 else 0 end) L,
SUM(case when (impiegati.Code='F') then 1 else 0 end) F,
SUM(case when (impiegati.Code='P') then 1 else 0 end) P,
SUM(case when (impiegati.Code='V') then 1 else 0 end) V,
COUNT(*) as TOTALE
FROM Impiegati
GROUP BY
extract(year from impiegati.DataRegistrazione)
ORDER BY
extract(year from impiegati.DataRegistrazione) DESC
ANNO L F P V TOTALE
2014 4 5 7 5 21
2013 1 1 0 1 3
2012 3 0 0 0 3