Ich versuche, eindeutige Werte zu erhalten, wenn ich GROUP_CONCAT in BigQuery verwende.
Ich werde die Situation mit einem einfacheren, statischen Beispiel neu erstellen:
BEARBEITEN: Ich habe das Beispiel modifiziert, um meine wahre Situation besser darzustellen: 2 Spalten mit group_concat, die unterschieden werden müssen:
%Vor%Dieses Beispiel gibt Folgendes zurück:
%Vor%Ich möchte die duplizierten Werte entfernen, um zurückzukehren wie:
%Vor%In MySQL hat GROUP_CONCAT eine DISTINCT OPTION, aber in BigQuery gibt es keine.
Irgendwelche Ideen?
Hier ist eine Lösung, die die Funktion UNIQUE
scope aggregation verwendet, um Duplikate zu entfernen. Beachten Sie, dass wir zuerst ein REPEATED
mit NEST
aggregation erstellen müssen, um es zu verwenden:
Das Entfernen von Duplikaten vor dem Anwenden von group_concat führt zu dem gewünschten Ergebnis:
%Vor%Tags und Links group-concat google-bigquery distinct