Visualizzazione dei risultati da 1 a 7 su 7

Discussione: aiuto per query

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    63

    aiuto per query

    salve a tutti
    ho una query da fare; se possibile, dovrei riuscire a farla in una sola query, visto che altrimenti dovrei modificare il programma che la esegue.. cmq sia, vi chiedo innanzitutti se è possibile.

    ho una tabella con dei dati. ogni dato ha la data di inserimento. la chiave della tabella è un id.
    l'obiettivo della query è quello di calcolare gli inserimenti medi al giorno.
    l'idea che avevo era quella di countare gli id dei record gruppati per data, ma poi come calcolare il valore medio di questo dato? non credo nemmeno sia possibile..

    qualcuno ha un'idea? (che, x quanto ne so, sarebbe anche: non è possibile farlo..)

    vash
    love&peace

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    per calcolare la media giornaliera di inserimenti fra 2 date puoi fare così:
    codice:
    $data1='1004-07-12';
    $data2='2004-07-26';
    $sql="SELECT COUNT(ID)/(DAYOFYEAR('$data2')-DAYOFYEAR('$data1')) AS media FROM tabella
    WHERE data BETWEEN '$data2' AND '$data1'";
    $st=mysql_query($sql) or die(mysql_error());
    $row=mysql_fetch_assoc($st) or die(mysql_error());
    echo $row['media'];
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    63
    la tua risposta è molto interessante. in effetti mi risolverebbe questo caso. il problema successivo è il calcolo del minimo numero medio di dati inseriti e quello massimo..

    cmq sia, grazie mille. nel frattempo ho modificato il programma e queste operazioni le faccio successivamente col codice.

    grazie ancora
    vash
    love&peace

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    se invece ti serve su tutta la tabella:
    codice:
    $sql="SELECT COUNT(ID)/(DAYOFYEAR(MAX(data))-DAYOFYEAR(MIN(data))) AS media FROM tabella";
    $st=mysql_query($sql) or die(mysql_error());
    $row=mysql_fetch_assoc($st) or die(mysql_error());
    echo $row['media'];
    il campo data è nel formato date (YYYY-MM-DD).

    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    63
    beh, che dire: grande!

    grazie grazie!

    vash
    love&peace

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da vashts
    beh, che dire: grande!

    grazie grazie!

    vash
    love&peace
    cmq penso si possa fare tutto direttamente da mySQL, solo che servono maggiori dettagli...

    buon lavoro
    think simple think ringo

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    63
    sì, lo so, ma a questo punto ci metto di meno a modificare un po' il programma che a scervellarmi in sql.. visto che non sono una cima nel costruire le query. e di certo non posso continuamente abusare della vostra disponibilità

    grazie 1000
    vash
    love&peace

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.