Google BigQuery-Gruppe durch die Summe und verfolgen der Zeile zahlen und WENN die Bedingung auf die Letzte Zeile

Ich habe eine Abfrage, ich habe einige Mühe, richtig. Ich habe eine Tabelle mit gewonnen Verkaufsaktionen. In diesem, ich brauche die Gruppe von org_id, die die client-id und Summe Wert der Angebote, behalten Sie die Nummer der Zeile bestellt won_time so kann ich sehen, ob die won_time der jüngsten gewann deal ist mehr als ein Jahr oder nicht und zeigen, dass im Ergebnis.

Dies ist, wie weit ich gekommen bin bisher. Die Abfrage funktioniert, gibt aber niemandem das aggregierte Ergebnis.

SELECT 
    org_id,
    RANK() OVER (PARTITION BY org_id ORDER BY won_time DESC) AS row_number,
    SUM(CAST(converted_value as NUMERIC)) as ltv
    IF(won_time < 'start_of_year', 'true', 'false') as status
FROM deals
WHERE status = 'won' AND row_number = 1
GROUP BY org_id, won_time, converted_value

enter image description here

0
2019-09-17 10:28:14
Quelle
2 Antworten

Ich weiß, Sie sind Listen verwenden, die in Ihrer Frage, aber, wenn Sie nicht kümmern über, um, dann können Sie Sätze:

val myList = mutableSetOf(1, 2, 3, 4, 5)
val mySecondList = setOf(1, 2, 3, 4, 5, 5, 6, 7, 8, 9)
myList.addAll(mySecondList)

Wenn Sie tun, sich kümmern um, dann können Sie einen Baum gesetzt:

val myTree = TreeSet(setOf(1, 2, 3, 4, 5))
val mySet = setOf(1, 2, 3, 4, 5, 5, 6, 7, 8, 9)
myTree.addAll(mySet)
+1
2019-09-17 13:18:51

Die userRequest-Feld in friendRequestsReceived ist vom Typ String, nicht array, so, $elemMatch wird nicht funktionieren. Auch, Sie brauchen nicht, verwenden Sie $elemMatch, weil Sie geben Sie nur eine einzige Bedingung in der $elemMatch Ausdruck, so wie es in den docs:

If you specify only a single condition in the $elemMatch expression, you do not need to use $elemMatch.

In Ihrem Fall, Sie brauchen nur etwas zu machen (details hier):

await User.updateMany({
  friends: userTag,
  "friendRequestsSent.userTarget" : userTag,
  "friendRequestsReceived.userRequest": userTag,
  "notifications.data": userTag
}...
+0
2019-09-17 21:05:49

Sehen Sie sich andere Fragen zu Tags an