一个用户直播打赏表 user_author live_amt. 记录每天用户给每个主播打赏的金额,包含字段 (p_date, user_id, author_id, total_cost_amt) ,分别为:格式为yyyymmdd的日 期,打赏用户ID,被打赏主播ID,打赏金额) 问题:查询累计打赏超过10万元的用户中,每个用户打赏总金额排名前3的主播ID和其被打赏总金额
时间: 2024-03-07 07:48:36 浏览: 135
可以使用 SQL 语句进行查询,具体如下:
```
SELECT t1.user_id, t1.author_id, SUM(t1.total_cost_amt) AS total_amt
FROM live_amt t1
WHERE t1.user_id IN (
SELECT user_id
FROM live_amt
GROUP BY user_id
HAVING SUM(total_cost_amt) > 100000
)
GROUP BY t1.user_id, t1.author_id
ORDER BY t1.user_id, total_amt DESC
LIMIT 3
```
这条 SQL 语句会首先查询出累计打赏超过 10 万元的用户,然后再按照用户 ID 和被打赏总金额进行分组和排序,最后输出每个用户打赏总金额排名前 3 的主播 ID 和其被打赏总金额。
阅读全文