我有以下表格:MODE聚集功能
客户
customer_id name
----------------
1 bob
2 alice
3 tim
购买
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
我想下面的结果:
customer_name item_bought_most_often
------------------------------------
bob hat
alice glasses
tim shoes
我会做这样的(实际上没有试过,只是想法):
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
然而,MODE aggregation function不存在红移。
看来Redshift user defined functions只是常规的标量函数,而不是聚合函数。所以我不认为我可以自己定义它。
任何解决方法?
Amazon Redshift是否允许在同一级别引用** cnt **:select count(*)as cnt, row_number()over(by cnt desc)as seqnum'? – lad2025
@ lad2025。 。 。 Arrrgh。最近Google BigQuery太多了。 –