场景:有时候我们需要取每类商品里的价格最高或者优先级最高的那一条,分组肯定使用group by

然后结合使用聚合函数min()或者max()对数据进行筛选

示例如下,具体场景为:

我们每件商品有申请记录,想取出每件商品的优先级最高的和申请的人数,则如下实现即可

SELECT
        min( bmgi.MEMBER_GRADE ) AS grade,
        bicd.ITEM_ID as itemId,
        count( DISTINCT bicd.MEMBER_ID ) as count
    FROM
        base_item_condition_demand bicd
        JOIN base_member_grade_info bmgi ON bicd.MEMBER_ID = bmgi.MEMBER_ID 
    WHERE
        bicd.ITEM_ID IN ( 16733784, 16773748 ) 
        and bicd.DEMAND_STATE=1 
        and bmgi.GRADE_STATE=1
    GROUP BY
        bicd.ITEM_ID;

取分组中每组里的第一条/最后一条数据相关推荐

  1. mysql 取分组中最新记录

    sql书写和执行顺序: 写的顺序:select ... from... where.... group by... having... order by.. 执行顺序:from... where... ...

  2. oracle 取分组第一行,oracle分组后取每组第一条数据

    oracle 分组后取每组第一条数据 '数据格式 分组取第一条的效果 sql SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER ...

  3. 05. 取SQL分组中的某几行数据

    05. 取SQL分组中的某几行数据 原文:05. 取SQL分组中的某几行数据 对表中数据分组,有时只需要某列的聚合值:有时却需要返回整行数据,常用的方法有:子查询.ROW_NUMBER.APPLY,总 ...

  4. Oracle分组中获取时间最新的一条数据

    解析:根据QYID分组,按照INDATE不为空倒叙排序,mtime取分组中排序在第一位的数据,即为时间最新的一条数据. SELECT * FROM (SELECTROW_NUMBER () OVER ...

  5. Oracle取排序的第五条数据,OVER(PARTITION BY)函数介绍 【oracle中按A分组按B排序,再取B中第一条数据的查询】...

    目录 一.小案例: school表中有①id 序号②class 班级 ③score成绩 三个字段, 使用oracle实现按照班级分区,然后取班级中的第一名. 1.1测试数据如下: --创建学校表sch ...

  6. mysql分组取出每组地一条数据_MYSQL实现分组排序并取组内第一条数据

    一.需要实现分组排序并且取组内状态优先级最高的数据 有一张这样的数据表, 需求是根据error_type分组然后取status最小的第一条数据 第一种写法: select t.* from ( sel ...

  7. mysql分组取出每组地一条数据_基于mysql实现group by取各分组最新一条数据

    基于mysql实现group by取各分组最新一条数据 前言: group by函数后取到的是分组中的第一条数据,但是我们有时候需要取出各分组的最新一条,该怎么实现呢? 本文提供两种实现方式. 一.准 ...

  8. 如何在分组报表中实现组内数据补空行及组内页码

    在对报表数据进行打印时,经常会要求进行精确打印,比如一张纸能打印 20 行数据,如果超过就分页,如果不满 20 行,则在数据下方进行补够空行.这种情况最常见于银行对账信息等明细数据的打印.同时,在某些 ...

  9. Json数组列表中的数据分组排序、组内排序

    文章目录 问题描述 方式一:先全部排序,在分组排序 方式二:使用HashMap取出来分组再组内排序 方式三:使用TreeMap取出来分组再组内排序 测试代码及耗时 问题描述 现在有一个用户信息数组,用 ...

最新文章

  1. [JAVA] IOException: Invalid byte 2 of 2-byte UTF-8 sequence(解决办法)
  2. sumif三个条件怎么填_函数SUMIF和SUMIFS
  3. 什么是Lucene和Solr和Elasticsearch,它们的区别是什么?
  4. java引用hive高可用连接hive_Hiveserver2高可用实现
  5. python 课程设计 夏敏捷_Python课程设计(微课视频版21世纪高等学校通识教育规划教材)/计算机技术入门丛书...
  6. 如何用texstudio下载ctex_公众号素材库视频如何下载,用这种方法就可以哦
  7. mysql只update不做修改_长沙一学校另类考试走红网络:只做游戏不做题
  8. [转]正则表达式中re.match、re.search、re.findall的用法和区别
  9. javascript进阶课程--第三章--匿名函数和闭包
  10. “21天好习惯”第一期-6
  11. [RESTful web services读书笔记] 接口设计中维持XML和JSON表述的兼容性
  12. (时间表达式)定时任务Quartz 之 cron表达式及在线生成器
  13. tictac 立体井字棋--数学问题
  14. ArcGIS软件应用(一)——专题图制作
  15. 如何看药博士系统服务器的站点,药博士系列管理软件
  16. 基于Forest实践|如何更优雅的统一处理请求签名
  17. AI大佬怼怼怼的背后,究竟暗藏哪些玄机?
  18. AlertManager配置参数解析
  19. 删除word中的空白页
  20. 雷达探测项目仿真代码(Matlab代码实现)

热门文章

  1. aggregate和annotate方法使用
  2. java 内存数据库 sql_基于Java的内存数据库
  3. linux 连接自动断开时间,两种解决SSH连接Linux超时自动断开的方法
  4. 系统交易策略 hylt
  5. linux信号量的理解及使用
  6. python123系统基本信息获取失败_交管123怎么总显示信息获取失败
  7. 易维帮助台APP新升级,管理、派单、服务更高效
  8. Java中static作用及用法
  9. SEO优化(title、keywords、description设置)
  10. android设计模式之备忘录模式