Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di tornu
    Registrato dal
    Jul 2001
    Messaggi
    63

    [MYSQL] Calcolo tra campi

    Ho la neccessità di eseguire dei calcoli tra due campi di una tabella.
    Mi spiego:
    campo1 = giacenza (Int)
    campo2 = costo (Float 5,2)

    Eseguendo il calcolo giacenza x costo voglio ottenere il totale complessivo dei record.
    Ho provato questa query:
    codice:
    SELECT SUM(giacenza * costo) AS totale FROM tabella
    ma ottengo il totale di ogni record, a me serve che l'alias totale mi riporti il totale complessivo dei record.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Veramente quella query ti restituisce un unico valore.

    P.S. Evita il tipo float e usa decimal.

  3. #3
    Utente di HTML.it L'avatar di tornu
    Registrato dal
    Jul 2001
    Messaggi
    63
    Hai ragione la query restituisce un totale unico, molto probabilmente quando facevo le prove sbagliavo qualcosa.

    Mi spieghi il consiglio che mi hai dato sul fatto di non usare i campi di tipo Float, io tutti i campi che devono contenere prezzi in euro gli ho impostati tutti così.
    Mi spieghi quando usare l'uno o l'altro.

    Grazie della risposta.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Il tipo di campo più indicato per contenere importi è quello di tipo decimal. Questo infatti permette di memorizzare valori numerici esatti.

    I tipi float e double invece consentono la memorizzare di valori numerici approssimativi e quindi comportano per l'appunto dei problemi di approssimazione, che possono precludere il confronto con un valore numerico preciso e errori di arrotondamento al momento di operazioni matematiche.

    Se fai alcune prove ti renderai conto da te delle differenze.

    Maggiori dettagli li trovi qui

    http://dev.mysql.com/doc/refman/5.0/...ith-float.html

  5. #5
    Utente di HTML.it L'avatar di tornu
    Registrato dal
    Jul 2001
    Messaggi
    63
    Grazie per le delucidazioni.

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.