链接:Superset
-
用户消费频次
-
消费频次用户数分布(freq, userNum)
要注意的是必须将派生表重新命名(如t1
)。 -
用户最后一次消费日期
为什么一定要用GROUP BY
才成功? -
每天首次付费用户数(firstPayDay, userNum)
先 SELECT 每个用户首次付费日期,并按用户分组;再按首次付费日期集成。 -
每天消费小时数的用户分布(hourNum, userNum)
MySQL 中用函数 TIMESTAMPDIFF 计算时间差:TIMESTAMPDIFF(interval, time_start, time_end)
按小时数 group by -
每个桌子累计订单量和用户量(deskId, orderNum, deskNum)
在一个表里就能得到结果,看了答案之后发现出题意图不是这样,需要连接两个表:
注意下单的用户会有重复,所以要用到DISTINCT
。
用的是LEFT JOIN
而不是JOIN
很严谨 -
桌子座位数对应的订单量(seatNum, orderNum)
-
优惠券过期日期对应用户数(date, userNum)
-
每个用户实际消费金额
因为有折扣(coupon),所以求实际消费金额需要连接表