Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    [MySQL] Problemi con una query SUM

    Ciao, avrei bisogno di un aiuto.

    Questa è la mia tabella in mysql
    codice:
    +----+--------+--------+
    | id | field1 | field2 |
    +----+--------+--------+
    |  1 | A1     | 7      |
    |  2 | B1     | 9      |
    |  3 | C1     | 0      |
    |  4 | D1     | 3      |
    |  5 | A2     | 5      |
    |  6 | B2     | 6      |
    |  7 | C2     | 7      |
    |  8 | D2     | 8      |
    +----+--------+--------+
    Avrei bisogno di questo output:
    codice:
    +--------+--------------------+
    | field1 | field2             |
    +--------+--------------------+
    | A2     | 19.230769230769200 |
    +--------+--------------------+
    | B2     | 23,076923076923100 |
    +--------+--------------------+
    | C2     | 26,923076923076900 |
    +--------+--------------------+
    | D2     | 30,769230769230800 |
    +--------+--------------------+
    Ho provato questa query in cui dovrei dividere ogni singolo valore di field1 per la somma di field2 quando è uguale a 'A2', 'B2', 'C2', 'D2', cioè:
    codice:
    A = 5/26 * 100 = 19
    B = 6/26 * 100 = 23
    C = 7/26 * 100 = 26
    D = 8/26 * 100 = 30
    
    SELECT
    	field1,
    	field2/Sum(field2)*100 as field2
    FROM
    	`tbl_t`
    WHERE
    	1
    AND field1 IN ('A2', 'B2', 'C2', 'D2');
    
    +--------+--------------------+
    | field1 | field2             |
    +--------+--------------------+
    | A2     | 19.230769230769234 |
    +--------+--------------------+
    1 row in set
    Ma estrae soltanto il primo valore di quelli richiesti nella condizione WHERE della query.
    Cosa sbaglio?
    Confido nel vostro prezioso aiuto.
    Un caro saluto
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2

    Re: [MySQL] Problemi con una query SUM

    strano che non ti dia errore, la SUM() vuole la GROUP BY...

  3. #3
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Grazie, se raggruppo:
    codice:
    SELECT
    	field1,
    	field2/Sum(field2)*100 as field2
    FROM
    	`tbl_t`
    WHERE
    	1
    AND field1 IN ('A2', 'B2', 'C2', 'D2');
    GROUP BY
    	field1;
    +--------+--------+
    | field1 | field2 |
    +--------+--------+
    | A2     | 100%   |
    | B2     | 100%   |
    | C2     | 100%   |
    | D2     | 100%   |
    +--------+--------+
    4 rows in set
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

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 © 2025 vBulletin Solutions, Inc. All rights reserved.