Ich habe die folgende Abfrage:Berechnung Säule (Gewicht/max (Gewicht)
select ema.es_symbol as symbol, ema.score as score, ema.weight as weight, rsi.relative_strength_index as relative_strength_index
from ema_score ema, relative_strength_index rsi inner join
(select rsi_symbol, max(rsi_date) as maxDate from relative_strength_index group by rsi_symbol) rsiDate
on rsi.rsi_symbol = rsiDate.rsi_symbol
and rsi.rsi_date = rsiDate.maxDate
where ema.es_symbol = rsi.rsi_symbol
and ema.score not in (0,1,10,11)
and rsi.relative_strength_index not in (0,100);
Ich versuche, eine berechnete Spalte wie die unten als die letzte Spalte hinzuzufügen:
ema.weight/max(ema.weight)
Der Ergebnis Ich möchte jedes Symbolgewicht dividiert durch das maximale Gewicht in der Gewichtsspalte.Wenn ich es auf meine Art versuche, bekomme ich nur 1 Zeile Ergebnisse.Was genau mache ich hier falsch?
Jede Aggregatfunktion, wie max(), ohne eine group by-Klausel, kollabiert das Resultset in einen einzelnen Datensatz. – Shadow
Ich habe eine Gruppe versucht, aber meine berechnete Spalte erhält die gleiche Antwort für jede Zeile. – ULuFlanders
@ULuFlanders, dass, weil Sie Unterabfrage als Divisor verwenden müssen, überprüfen Sie meine Antwort. –