ich diese haben bisher:Gruppe von Datum Teil von Datetime und bekommen Anzahl der Datensätze für jede
select created_at,
DATEDIFF(TO_DATE(current_date()), TO_DATE(sales_flat_order.created_at)) as delay,
count(*) over() as NumberOfOrders
FROM
magentodb.sales_flat_order
WHERE
status IN ('packed' , 'cod_confirmed')
GROUP BY TO_DATE(created_at)
Aber das funktioniert nicht.
Syntaxfehler:
Fehler beim Anweisung kompilieren: Fehler: SemanticException [Error 10004]: Zeile 1: 7 Ungültige Tabellen-Alias oder Spaltenverweis 'created_at': (mögliche Spaltennamen sind: (tok_function to_date (tok_table_or_col created_at)))
count(*) does not give sum for each grouped by date but instead all of the rows
.
Hinweis: Ich verwende hive tatsächlich, aber es ist genau wie SQL, wenn es
Warum verwenden Sie over() mit count (*) ?? –
Sollte ich nicht? Da wir Zeilen zählen müssen, die für einen Schlüssel gruppiert wurden, dachte ich, es würde so funktionieren. –
Ich bekomme nicht den Zweck von over(); Wenn Sie dies entfernen, wird Ihre Anfrage gut funktionieren. –