Ich habe die folgenden Tabellen:MODE Aggregationsfunktion mit Rotverschiebung
Kunden
customer_id name
----------------
1 bob
2 alice
3 tim
Käufe
id customer_id item_bought
--------------------------
1 1 hat
2 1 shoes
3 2 glasses
3 2 glasses
4 2 book
5 3 shoes
6 1 hat
Und ich möchte folgendes Ergebnis:
customer_name item_bought_most_often
------------------------------------
bob hat
alice glasses
tim shoes
ich tun würde dies wie folgt aus (nicht wirklich versucht, nur die Idee):
SELECT customer.name as customer_name,
MODE(item_bought), as item_bought_most_ofen
FROM customers
INNER JOIN purchases USING (customer_id)
GROUP_BY customer_id
Allerdings ist die MODE aggregation function nicht in Redshift existieren.
Es scheint, dass Redshift user defined functions sind nur regelmäßige Skalarfunktionen, nicht Aggregationsfunktionen. Also ich glaube nicht, dass ich es selbst definieren kann.
Problemumgehung?
Ermöglicht Amazon Redshift, ** cnt '** zu verweisen:' wählen count (*) als cnt, row_number() über (nach cnt desc) als seqnum' auf dem gleichen Level? – lad2025
@ lad2025. . . Arrrgh. In letzter Zeit zu viel Google BigQuery. –