Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    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?

    ciao, io utilizzo firebird e funziona tuto alla perfezione. l'unica cosa che cambia in firebird è l'estrazione dell'anno dalla data.

    tu, però, cerca di fare qualche prova.

    ho testato il tutto, creand una tabella e inserendo dei dati. a me funziona bene

    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

  2. #12
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    ...soluzione:

    codice:
    SELECT
    DatePart("yyyy", [impiegati.DataRegistrazione])  AS Anno,
    COUNT(*) AS TOTALE,
    SUM(iIF(impiegati.Code='L',1,0)) AS L,
    SUM(IiF(impiegati.Code='F',1,0)) AS F,
    SUM(iIF(impiegati.Code='P',1,0)) AS P,
    SUM(iIF(impiegati.Code='V',1,0)) AS V
    FROM Impiegati
    GROUP BY
    DatePart("yyyy", [impiegati.DataRegistrazione])
    ORDER BY DatePart("yyyy", [impiegati.DataRegistrazione]) desc

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.