2017-12-19 18 views
0

Ich habe ein Problem mit der SUM Funktion der Rotverschiebung.Redshift SUM Funktionsproblem

Früher habe ich nur

SUM(col1) as T1 from "table_name" where ... 

die Daten zu holen. Welche Werte haben numerische Werte im Datentyp varchar der Spalte.

Aber es gibt mir nicht korrekte Gesamtmenge in T1.

Ein z. col1 hat zwei verschiedene Zeilen mit der Menge von "34.50". Also sollte es 69 zurückgeben. Aber es gibt zurück 68.

Spalte "Col1" Datentyp ist Varchar.

+1

Nun, was Sie erwarten wenn Sie die falschen Typen verwenden? Fix die Daten und Sie werden Ihr Problem beheben. –

+0

** Niemals **, speichern Sie Zahlen in 'varchar'-Spalten. Wie Gordon sagte: Fixieren Sie Ihr Datenmodell –

Antwort

1

Sie nicht den richtigen Datentyp verwenden, versuchen Sie es, wie dies vor Gießen:
SUM(col1::numeric) as T1 from "table_name" where ...

+0

Danke. Es funktioniert jetzt. –

0

In Rotverschiebung der einfachste Weg, Datentypen zu konvertieren ist wie dieser

SUM(col1::numeric) as T1 from "table_name" where ...