Ich konnte keine Antwort auf diese spezifische BigQuery finden. Im Grunde möchte ich in der Lage sein, ROW_NUMBER in einer Abfrage zu zählen und dann die Zeilennummer mit einfachen mathematischen Operatoren (addieren, subtrahieren, usw.) ändern, ohne eine Unterabfrage zu verwenden.ROW_NUMBER() und mathematische Funktionen in BigQuery
Ich weiß, der folgende Code funktioniert, aber mir scheint es nicht notwendig, eine Unterabfrage zu verwenden, nur grundlegende mathematische Operatoren
SELECT
id,
title,
language,
rn+5
FROM
(
SELECT
id,
title,
language,
ROW_NUMBER() OVER() AS rn
FROM [publicdata:samples.wikipedia] LIMIT 1000
)
jedoch anzuhängen, wenn ich versuche, auf das Pluszeichen ohne die Unterabfrage Ich erhalte eine Fehlermeldung hinzufügen
SELECT
id,
title,
language,
ROW_NUMBER() OVER() +5 AS rn_offset,
FROM [publicdata:samples.wikipedia] LIMIT 1000
ist das, was ich versuche, ohne eine Unterabfrage in BigQuery möglich zu tun, oder ist meine Syntax fehlerhaft?
Danke, Onji
Sie haben ein abschließendes ',' vor der 'FROM'-Klausel – Siyual
in BigQuery Legacy SQL-Trailing', 'vor' FROM'-Klausel ist überhaupt kein Problem! –
@onji Ich kann Ihnen zustimmen, dass 'die Verwendung von Unterabfragen nur zum Anhängen mit einem Basisanpassungsoperator 'unnötig erscheint - ABER gleichzeitig sehe ich keinen praktischen Nutzen Ihres Beispiels! Was wäre der Grund für Sie, 'ROW_NUMBER()' inline mit row_number() selbst zu erhöhen. wenn es weiter verwendet wird - es sollte dort reflektiert werden, was höchstwahrscheinlich sowieso eine Unterabfrage beinhaltet. Wie auch immer - können Sie Ihren genauen "praktischen" Anwendungsfall angeben? –