Ich Aufrechterhaltung Aktienkurse in meiner Datenbank und dies ist meine DatenbankstrukturWie berechnen Bestandsveränderung Prozentsatz Wert ändern
CREATE TABLE `sector_wise` (
`symbol_name` varchar(50) DEFAULT NULL,
`sector_name` varchar(50) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE `historical_data` (
`symbol_name` varchar(70) DEFAULT NULL,
`current_day` date DEFAULT NULL,
`open_val` decimal(15,2) DEFAULT NULL,
`high_val` decimal(15,2) DEFAULT NULL,
`low_val` decimal(15,2) DEFAULT NULL,
`close_val` decimal(15,2) DEFAULT NULL,
`last_val` decimal(15,2) DEFAULT NULL,
`prevclose_val` decimal(15,2) DEFAULT NULL,
`volume` varchar(30) DEFAULT 'NA'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
Insert Scripts:
Insert INTO sector_wise ('symbol_name','sector_name') VALUES ('VISESHINFO','Agriculture');
Insert INTO historical_data ('symbol_name','current_day','open_val','high_val','low_val','close_val','last_val','prevclose_val','volume') VALUES ('VISESHINFO','2016-05-03',0.05,0.10,0.05,0.05,0.05,0.10,45814.95);
Dies ist die Abfrage i versucht
SELECT sw.symbol_name AS symbol_name,
hd.current_day AS curr_day,
hd.open_val AS open_value,
hd.high_val AS high_value,
hd.low_val AS low_val,
hd.close_val AS close_val,
hd.prevclose_val AS prevclose_val,
(close_val-prevclose_val)/close_val*100 AS per_change
FROM sector_wise sw,
historical_data hd
WHERE sw.symbol_name = hd.symbol_name
AND sw.sector_name = 'Agriculture'
AND hd.current_day =
(SELECT max(current_day)
FROM historical_data)
ORDER BY per_change;
Das Ergebnis habe ich nach der Ausführung der obige Abfrage ist eigentlich falsch ist, sollte der Prozentsatz chnage -50.00 sein und nicht -100,00
symbol_name curr_day open_value high_value low_value close_val prevclose_val percentage_change
VISESHINFO 2016-05-03 0.05 0.10 0.05 0.05 0.10 -100.000000
Könnten Sie mir bitte sagen, wo genau der Fehler ist die prozentuale Veränderung
bei der Berechnung
Wo und wie werden Sie die Berechnung Preisvariation ? – datelligence
an dieser Linie (close_val-prevclose_val)/close_val * 100 AS per_change – Pawan