Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Estrazione e somma dei dati da un db

    Ciao a tutti,
    ho un DB con più tabelle, una in particolare contiene dei dati memorizzati ad ogni ora (quindi 24 dati per un giorno); se io faccio l'estrazione degli ultimi 30 giorni mi vengono visualizzati più di 700 record, troppi; vorrei quindi mostrare la somma per ogni giorno (quindi 30 record).

    Come posso fare? c'è una procedura standard da applicare alla query oppure devo implementare qualcosa di paricolare in ASP?
    Premessa : il campo giorno è così costituito :" MM/GG/AAAA HH:MM"

    Grazie 1000

  2. #2
    SELECT sum(numero) from ciccio group by data;
    se non è bello ciò che è bello figuriamoci ciò che è brutto!!



    fai anche tu come me: indenta il codice!!!!

  3. #3
    CIAO!
    Grazie ma mi da errore.... ti posto la query:
    codice:
    SELECT DataMisura, sum (RR) FROM MAP WHERE ( (IdMap = '1587') AND (DataMisura>=#8/31/2004#) AND (DataMisura<=#9/23/2004#) ) group by DataMisura
    ADODB.Recordset error '800a0cc1'

    Item cannot be found in the collection corresponding to the requested name or ordinal.

    che non gli piaccia il sum ?!?!?!

    Grazie

  4. #4
    ma l'errore te lo da sulla query o su di un'altra riga? mi sembra l'errore che viene restituito quando cerchi di recuperare un campo dall'oggetto recordset che non c'è nella query, inoltre, io non l'ho fatto, ma alla colonna che ottieni con il sum dagli un alias ... e quando vai a leggerla con il tuo recordset

    rs("aliaschehadato") ...
    se non è bello ciò che è bello figuriamoci ciò che è brutto!!



    fai anche tu come me: indenta il codice!!!!

  5. #5
    Ho trovato e corretto l'errore (come suggerivi tu non era nella query ma nell'assegnazione del campo) ma non ho risolto il mio problema; infatti il gruop by DataMisura non credo funzioni perchè il campo DataMisura contiene valori come questo: "09/23/2004 6:00:00"
    quindi lui fa una somma su un gruppo che non può creare (visto che ci sara un solo valore orario ma + valori al giorno)...
    Si accettano altri suggerimenti?!?!?!

    PS ti lascio un caffè al tavolo 5?

  6. #6
    ho fatto così e sembra che funzioni:
    codice:
    do until i > UBound(A_misure) 'lo fa finche il vettore è completo
    		  d = rs("DataMisura") 'si prende la data dal db
    		  d = Day(d) & "/" & month(d) & "/" & year(d)'si prende solo la data e non l'ora
    		  somma_giornaliera =  somma_giornaliera  + rs ("valore")			
        rs.movenext
    	    d_1 = rs("DataMisura") 'si prende il valore dopo della data
    	    d_1  = Day(d) & "/" & month(d) & "/" & year(d)	    if d_1 <> D then ' lo confornta con quello prima, se diverso lo mette nel vettore
        	    A_misure(i) = rs("valore")			
        	     	    i = i + 1	    
        	     	    somma_giornaliera  = 0
         	  end if
      
       loop

  7. #7
    codice:
    SELECT (STR(DATEPART("D",DATA)) + "/" + STR(DATEPART("M",DATA)) + "/" + STR(DATEPART("YYYY",DATA))) AS DATA1, SUM(NUMERO) 
    FROM CICCIO 
    GROUP BY (STR(DATEPART("D",DATA)) + "/" + STR(DATEPART("M",DATA)) + "/" + STR(DATEPART("YYYY",DATA)));
    se non è bello ciò che è bello figuriamoci ciò che è brutto!!



    fai anche tu come me: indenta il codice!!!!

  8. #8
    LASCIA PURE UNA BIRRETTA INVECE DEL CAFFè!!! ;-)
    se non è bello ciò che è bello figuriamoci ciò che è brutto!!



    fai anche tu come me: indenta il codice!!!!

  9. #9
    la tua idea mi piace di più anche perchè con access mi funziona; ma con le asp mi da errore (non trova la fine della stringa) ho provato a metterla così:
    codice:
    sqlstr = "SELECT (STR(DATEPART(""D"",DataMisura)) + ""/"" + STR(DATEPART(""M"",DataMisura)) + ""/"" + STR(DATEPART(""YYYY"",DataMisura))) AS DataMisura1, SUM(RR) as pioggia  FROM MAP  GROUP BY (STR(DATEPART(""D"",DataMisura)) + ""/"" + STR(DATEPART(""M"",DataMisura)) + ""/"" + STR(DATEPART(""YYYY"",DataMisura)));"
    però non la digerisce mi da quest'errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

    [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 4.

    why???

  10. #10
    metti invece delle virgolette gli apici

    codice:
    SELECT (STR(DATEPART('D',Data)) + '/' + STR(DATEPART('M',Data)) + '/' + STR(DATEPART('YYYY',Data))) AS DataMisura1, SUM(numero) as pioggia  FROM ciccio  GROUP BY (STR(DATEPART('D',Data)) + '/' + STR(DATEPART('M',Data)) + '/' + STR(DATEPART('YYYY',Data)));
    se non è bello ciò che è bello figuriamoci ciò che è brutto!!



    fai anche tu come me: indenta il codice!!!!

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.