需求:一张表中有两个字段:用户userid和产品productid,求统计每个产品top3的用户。

解答思路:

  1. 先求出每个产品的每个用户点击总数并按每个产品降序排,即 pid,uid,cnt
  2. 在上一步的基础上,使用开窗函数按产品pid 分区,点击总数cnt 降序排序,直接取出前3条记录。
select t2.pid, t2.uid, t2.cnt from
(select t.*, row_number() over(partition by pid order by cnt desc) as part from
(select pid, uid, count(*) as cnt from user_product group by pid,uid order by pid, cnt desc) t) t2
where t2.part<=3;

sql之分组TOPN相关推荐

  1. Python之Pandas:利用Pandas函数实现对表格文件的查之高级查询(类似sql,分组查询等)之详细攻略

    Python之Pandas:利用Pandas函数实现对表格文件的查之高级查询(类似sql,分组查询等)之详细攻略 目录 利用Pandas函数实现对表格文件的查之高级查询(类似sql) 1.分组查询

  2. oracle 分组 top10 sql,oracle sql 合龙 分组 聚合函数

    oracle sql 合并 分组 聚合函数 工作中有一需求,要根据多个表的数据统计情况来更新另外一个表中的某个字段,折腾了会才写出如下sql: --最终版更新语句 update moka_user_u ...

  3. java mongo分组统计_mongodb 分组 topN

    [摘要] MongoDB 对于 TopN 功能的需求使用其 shell 脚本来实现有些复杂,而集算器 SPL 语言,则因其离散性.灵活性恰好能弥补 MongoDB 实现方面的不足.若想了解更多,请前往 ...

  4. 3、流量分析--分组TopN统计

    流量分析--分组TopN统计 ===================================================================================== ...

  5. hadoop3-求分组topn

    项目需求#求出每一个订单中成交金额最大的三笔 本质:求分组topn #原始订单数据a.txt ---------------------------------------- 订单号,用户id,商品名 ...

  6. SQL数据分组:GROUD BY与HAVING

    SQL数据分组 GROUP BY 语句 HAVING 子句 GROUP BY 语句 GROUP BY 语句用于结合合计函数(比如 SUM),根据一个或多个列对结果集进行分组. SQL GROUP BY ...

  7. Spark使用RDD实现分组topN(八种方法)

    最近在复习Spark,记录一个使用RDD实现分组topN的方法,一共写了八种,其中有很多地方都是有共性的,我会在代码最后进行总结八种的思路,他们之间的共性以及每一种的优缺点. 以下是样例数据 语文,赵 ...

  8. java group by_Java实现GroupBy/分组TopN功能

    详情 在Java 8 的Lambda(stream)之前,要在Java代码中实现相似SQL中的group by分组聚合功能,还是比较困难的.这之前Java对函数式编程支持不是很好,Scala则把函数式 ...

  9. SQL:分组排序取top N

    1 法一 在hive上查询 select a.course,a.score from( select course,score,row_number() over(partition by cours ...

  10. 项目案例:Flink1.14 SQL实现Window TOPN

    摘要: 在Flink1.13版本中,提出了窗口表值函数(Window TVF)的实现,用于替代旧版的窗口分组(group window)语法,极大简化了Flink SQL代码量,同时提高了执行性能. ...

最新文章

  1. asp.net中将Excel文件(.xls)绑定到DataGrid
  2. apache kafka源码分析-Producer分析---转载
  3. JavaWeb——内置对象session与httpSession对象是同一个东西么?
  4. 推送:腾迅信鸽 VS Bmob
  5. 我们可以写100%,但是这样不科学
  6. 优雅的让Fragment监听返回键
  7. html有序列表和无序列表
  8. 作为技术人员出现场,感触颇多
  9. yield return 和 Func
  10. 拓端tecdat|R语言关联规则模型(Apriori算法)挖掘杂货店的交易数据与交互可视化
  11. hive与mysql对比之max、group by、日志分析
  12. 正点原子STM32F103(精英版)------串行通信
  13. 正版sql sever(2000,2005,2008) 下载地址
  14. 常用网络特殊符号大全(含彩色表情符号)
  15. 2022年高压电工操作证考试题库及在线模拟考试
  16. matlab如何事先申明结构体数组,【matlab定义结构体数组】
  17. android实时投屏软件下载,安卓投屏助手
  18. SX1278超时设置与计算
  19. TCL中变量嵌套使用
  20. 晚上失眠白天没精神,怎么把这种状态调整回来!

热门文章

  1. python输入负数_如何让python使用负数
  2. Java常见设计模式
  3. excel制作表格的详细步骤
  4. 诗画丽水 文化传承 萌娃上演宋韵国风非遗主题秀
  5. RCTF crypto100(1)
  6. 传真系统的跨平台兼容和更换升级
  7. linux中文成方块,给linux添加字体
  8. 安装用友U8的常见错误
  9. 只用一个div制作太极图
  10. SpringBoot水果商城后台管理系统(文末附源码)