Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    68

    Mysql SUM con parametro LIMIT

    Ciao a tutti,
    ho cercato sia sul questo forum che su altri come poter fare con mysql la somma di una colonna con SUM utilizzando nella query anche il parametro limit.

    Questa, $somma=mysql_fetch_assoc(mysql_query('SELECT SUM(id) AS totale_id FROM mia_tabella')); senza il LIMIT funziona e mi restituisce in totale_id il valore esatto della somma di tutti i record della tabella.

    Questa invece $somma=mysql_fetch_assoc(mysql_query('SELECT SUM(id) FROM (SELECT id FROM mia_tabella LIMIT 0,10) AS totale_id')); (prelevata da un altro forum e utilizzando una subquery come spiegato) non restituisce niente.

    Cosa c'è di sbagliato?
    Ne ho provate altre, ma anche queste non restituiscono nessun valore.

    Io in pratica avrei bisogno di conoscere il totale di tutti i valori di una colonna della tabella, ma anche il totale a gruppi di 10 record.
    Qualche suggerimento?

    Grazie
    Federico

  2. #2
    Ciao
    ho provato la tua query e funziona.

    Ho provato velocemente su phpMyAdmin e per scrupolo ho creato uno script PHP e funziona anche lui.

    es. con i miei dati

    $array = mysql_fetch_assoc(mysql_query("SELECT SUM(id) AS totale_id FROM (SELECT id FROM mia_tabella LIMIT 0,10) as totale_id"));
    echo $array["totale_id"];
    45

    array = mysql_fetch_assoc(mysql_query("SELECT SUM(id) AS totale_id FROM (SELECT id FROM mia_tabella LIMIT 0,20) as totale_id"));
    echo $array["totale_id"];
    190

    Nel tuo esempio ho visto che manca l'alias dopo SELECT SUM(id), penso sia una svista...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    68
    Ciao vitren54 e grazie,

    Quote Originariamente inviata da vitren54 Visualizza il messaggio
    Nel tuo esempio ho visto che manca l'alias dopo SELECT SUM(id), penso sia una svista...
    per quanto riguarda la mancanza dell'alias, è stato un mio errore di battitura.

    Non funzionava perchè omettevo in "echo $array["totale_id"];" i doppi apici in fra le [].
    Adesso funziona tutto.

    Ciao e grazie ancora
    Federico

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.