Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [mysql] differenza tra due sum() con condizione

    ciao io vorrei fare una query abbastanza particolare, in pratica ho una tabella con un campo nome,importo,stato

    vorrei fare la somma di tutti i record che hanno stato 'caricato' e questo è semplice...

    codice:
    select sum(importo) as totale from tabella where stato='caricato';
    a questa somma vorrei togliere il totale di tutti i record che hanno stato diverso da caricato

    codice:
    select sum(importo) as totale from tabella where stato!='caricato';

    ora io vorrei sapere la differenza tra queste due somme, ma in un unica query! è possibile?

    grazie nik
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    select sum(importo) as totale from tabella group by stato

    Con questa query avrai la somma di tutti gli importi raggruppati per stato.
    Poi è semplice dal php fare la differenza.

  3. #3
    ok ti ringrazio ma li ci arrivavo anche io!

    a me piacerebbe avere gia il risultato direttamente con la query!
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  4. #4
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    SELECT SUM(importo*IF(stato='caricato',1,-1))
    FROM tabella

  5. #5
    cavolo!

    ottima idea!

    grazie
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  6. #6
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Prego

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.