- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- query mysql con calcoli
-
query mysql con calcoli
Salve,
sto cercando, ma invano e disperatamente, di scrivere in un file php una query al database che istruisca una sottrazione tra 2 records appartenenti allo stesso campo di una determinata tabella ma ordinati cronologicamente ...
Grazie
Nik
-
??? forse intendevi "due campi dello stesso record"'??
in tal caso dovresti solo fare una roba simile....
select Campo2-Campo1 AS risultato FROM NomeTabella
o intendevi "lo stesso campo ma di due record diversi"???
in tal caso mi sa che devi lavorare con due variabili:non so se in MySql si fa così, ma in SQL Server sì...
DECLARE @a
DECLARE @b
DECLARE @tot
Select @a=Campo FROM NomeTabella WHERE ID= 1234 --(o altro criterio per selezionare il tuo record...)
Select @b=Campo FROM NomeTabella WHERE ID= 9876
@tot=@a-@b(non sono sicuro che MySql supporti questa sintassi..ma se non è così è molto simile...)
-
Ciao,
grazie per la risposta.
Si tratta di due records diversi ma appartenenti allo stesso campo.
Non conosci la query in MysqlIn effetti sto cercando di inserire le quotazioni di borsa sul mio sito. Mi interessa saper come si scrive in PHP (ho il phpnuke) la formula che consenta di calcolare la variazione percentuale quotidiana sui titoli, ricercare i migliori/peggiori cinque della giornata ed infine calcolare i livelli di Pivot giornalieri che scaturiscono dal calcolo dei valori di chiusura, massimo e minimo di giornata.
FORMULA PIVOT POINT
Resistance 3 = High + 2*(Pivot - Low)
Resistance 2 = Pivot + (R1 - S1)
Resistance 1 = 2 * Pivot - Low
Pivot Point = ( High + Close + Low )/3
Support 1 = 2 * Pivot - High
Support 2 = Pivot - (R1 - S1)
Support 3 = Low - 2*(High - Pivot)FORMULA CALCOLO PERCENTUALE
(valore_oggi - valore_ieri)/valore_ieri *100= x%Ringrazio anticipatamente
NIK
-
Ciao,
ho provato ad adattarlo al mysql e a scrivere la query in php,
ma non ci sono riuscito.Poichè i numeri da sottrarre cambiano di giorno in giorno e a me servono solo l'ultimo (di oggi) ed il penultimo (di ieri) dello stesso campo cosa va indicato
in @a e @b che vengono prelevati dallo stesso campo?Grazie
Nik
-
non puoi usare la funzione MAX per prendere l'ultimo dato odierno?
-
Ti ringrazio per l'aiuto,
devo estrarre il dato di oggi e il dato di ieri e tirare fuori questo:
(dato_oggi - dato_ieri)/dato_ieri *100 (cioè la percentuale di variazione giornaliera)
il risultato andrebbe poi inserito in una cella di una tabella dove confluiscono altri dati ma che che non hanno bisogno di calcoli (testo)
il campo da cui prelevare in mysql si chiama 'chiusura'
Non so come organizzare la query in php ... sono imballato
Nik
-
vediamo....
da principiante assoluto di php ho provato a creare una tabella test con due campi (chiusura e data)
ho fatto una roba del genere e sembra funzionare...
<?php
$sql_ieri="SELECT chiusura FROM test where Data='2007-05-09 00:00:00'";
$d_ieri = mysql_query($sql_ieri,$conn)
or die( "Errore: " . mysql_error() );$sql_oggi="SELECT chiusura FROM test where Data='2007-05-10 00:00:00'";
$d_oggi = mysql_query($sql_oggi,$conn)
or die( "Errore: " . mysql_error() );// Estrazione del risultato
$dato_ieri = mysql_fetch_row($d_ieri);
$dato_oggi = mysql_fetch_row($d_oggi);echo ($dato_oggi[0]-$dato_ieri[0])/$dato_ieri[0]*100
?>a me funziona, ovviamente le date le devi estrarre con la apposita funzione che ti retituisice la data odierna (che non so come è in MySql, ma in SqlServer è "GETDATE()"...)
-
Grazie
lo provo e ti faccio sapere
Nikk