Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822

    [MYSQL] somma di record campo tipo enum

    la domanda sta tutta nel titolo.
    in pratica vorrei fare una somma di un campo di tipo enum (quindi con valori binari 0 e 1) vorrei sommare solo i campi con 1.
    Ad es se ci sono 5 record con valore 0 e 3 record con valore 1
    vorrei che mi dia come risultato 3.

    ho provato così:
    Codice PHP:
    $q_tot_fin mysql_query("SELECT SUM(finito) as totalefin FROM worktab") or die("Query Fallita: " mysql_error());
    $tot_fin_sum mysql_fetch_array($q_tot_fin); 
    $tot_fin $tot_fin_sum['totalefin'];
    echo 
    "$tot_fin"
    $tot_fin mi da come risultato 5 !! ma ho 3 record con valore 0 e 1 record con valore 1, dovrebbe ritornarmi 1!

    mi sembra di aver campito che il problema è proprio il campo che è di tipo enum.. qualcuno mi sa aiutare a sistemare la query?
    grazie.

  2. #2
    ma se sono tutti valori uguali a "0" e "1" sommali tutti tanto 0+1 da 1 e 1+0 da sempre 1

    0+1+0+0+1+0+1+0 da 3

    o non ho capito un ciufolo ?

  3. #3
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    [supersaibal]Originariamente inviato da serialkiller
    ma se sono tutti valori uguali a "0" e "1" sommali tutti tanto 0+1 da 1 e 1+0 da sempre 1

    0+1+0+0+1+0+1+0 da 3

    o non ho capito un ciufolo ? [/supersaibal]
    mmmm
    allora:
    se guardi la query che ho fatto (post sopra) effettivamente ho fatto un SUM (somma) del valore dei record relativi al campo "finito".
    in questo modo molto probabilmente la somma che dici tu (0+1+0+0+1+0+1+0 = 3) non da 3.
    nel mio caso avrei (0+0+0+1 = 1) ma mi da 5 !!! c'è qualcosa di sbagliato... ho fatto la stessa prova su in campo di tipo varchar riempito con del valori numerici e la somma la fa correttamente... in pratica deduco che per i campi "enum" non va bene il "SELECT SUM(campo)" nella query ...

  4. #4
    non avevo visto il tipo di campo

    a questo punto non saprei, o ti fai un campo in + con il medesimo contenuto e sommi quello o tanto per dire fai un controllo sui valori e assegni un vero valore numerico

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