精华内容
下载资源
问答
  • 对查询结果进行分组-分组查询

    千次阅读 2019-03-24 15:17:19
    group by column_name (having 条件表达式) group by通常和聚合函数(max(),min(),avg(),count()等)一起使用。...指定条件进行过滤,如: select count(*) from readinfo where sex='女';统计...
    group by column_name (having 条件表达式)

    group by通常和聚合函数(max(),min(),avg(),count()等)一起使用。如:count(*)求得所有行数,包括空值,count(列名)不包括空值。

    having 条件表达式

    对指定条件进行过滤,如:

    select count(*) from readinfo where sex='女';统计所有女读者
    
    select sex from readinfo group by sex;按性别分组,结果为:男,女
    
    select sex,count(*) from readinfo group by sex;男读者有几人,女读者有几人
    
    select sex from readinfo group by sex having count(sex)>2; 人数大于2的性别,按性别分组

     

    展开全文
  • 博客http://blog.csdn.net/imlanbin/article/details/48730143 所用的数据库
  • 分组查询后,查询结果为一个或多个列分组后的结果集。 GROUP BY语法 SELECT 列名, 聚合函数(列名) FROM 表名 WHERE 列名 operator value GROUP BY 列名 [HAVING 条件表达式] [WITH ROLLUP] 在以上语句中: 聚合函数...
  • 注意:分组查询结果集作为多条件的关系 sql实现: SELECT   prd.`door_id` doorId,  prd.`name` prdName,  prd.`id` prdId,  prd.`prd_type` prdType,  prd.`prd_expire_date` ...

    问题:查询对规格商品的价格最小的记录?

    表结构:表商品表store_prd,商品价格表:store_prd_price,商品表与价格表示一对多关系

    注意:分组查询的结果集作为多条件的关系

    sql实现:

    SELECT 

      prd.`door_id` doorId,
      prd.`name` prdName,
      prd.`id` prdId,
      prd.`prd_type` prdType,
      prd.`prd_expire_date` prdExpireDate,
      p1.`discount_price` discountPrice,
      p1.`price` costPrice,
      p1.`discount` isDiscount,
      prdPrice.`saleStock` saleCount,
      prd.`discount_type` discountType 
    FROM
      `store_prd_price` p1,
      `store_prd` prd,
      (SELECT 
        prd.`id` prdId,
        MIN(price.`discount_price`) AS discountPrice 
      FROM
        `store_prd_price` price,
        `store_prd` prd 
      WHERE prd.`id` = price.`prd_id` 
        AND prd.`is_delete` = 0 
        AND price.`is_delete` = 0 
      GROUP BY prdId) t3,
      (SELECT 
        SUM(priceN.`sale_stock`) saleStock,
        prdN.`id` 
      FROM
        `store_prd` prdN,
        `store_prd_price` priceN 
      WHERE prdN.`id` = priceN.`prd_id` 
      GROUP BY prdN.`id`) prdPrice 
    WHERE prd.`id` = p1.`prd_id` 
      and t3.prdId = p1.`prd_id` 
      AND p1.`discount_price` = t3.discountPrice 
    GROUP BY prdId 
    order by prd.`create_time` desc 
    展开全文
  • java查询出多多的结果进行再分组

    千次阅读 2018-11-13 11:58:47
    有时候查出的数据需要进行再次分组, (List<Object> 分组为 Map<String,List<Object>)  以下就是 根据数据库中查出来数据对象的一个字段的作为key, 将数据根据这个字段进行...

    有时候查出的数据需要进行再次分组, (List<Object> 分组为   Map<String,List<Object>)

      以下就是 根据数据库中查出来数据对象的一个字段的作为key, 将数据根据这个字段进行分组,

    常用于填写表格, 

     

    
    public static Map<String,List<JSONObject>> GroupList(List<JSONObject> list,String key){
             
             Map<String,List<JSONObject>> map = new HashMap<>();
             for(JSONObject db:list){
                 String keys  = db.getString(key);
                 //判断是否已经存在此内容
                 if(map.containsKey(keys)){
                     map.get(keys).add(db);
                 }else{
                     List<JSONObject> valdb = new ArrayList<>();
                     valdb.add(db);
                     map.put(keys, valdb);
                 }
             }
             
             return map;
         }

     

    展开全文
  • mybatis中查询结果进行分组

    千次阅读 2017-04-07 10:50:00
    在用mybatis进行数据库查询时,对查询结果进行自动分组,在mapper.xml中的配置有些注意的地方,下面是实际项目中一个例子。在数据库中查询中如下: 在结果集中需要alarmDate进行分组,比如2017-04-05这两条数据...

    在用mybatis进行数据库查询时,对查询结果进行自动分组,在mapper.xml中的配置有些注意的地方,下面是实际项目中一个例子。在数据库中查询中如下:

    在结果集中需要对alarmDate进行分组,比如2017-04-05这两条数据,分组后最终实现如下效果:

    {
          "alarmDate": "2017-04-05",
          "entityCounts": [
            {
              "count": 2,
              "alarmLevel": "警告"
            },
            {
              "count": 567,
              "alarmLevel": "严重"
            }
          ]
    }

    那么这种情况在mapper.xml该怎么配呢?需要配一个resultMap, 在里面配置分组的关键字段。

      <resultMap id="alarmCountDate" type="monitor.entity.EntityCountDateList">
            <id property="alarmDate" column="alarmDate" />
            <collection property="entityCounts" ofType="monitor.entity.EntityCountDate">
                <result property="alarmLevel" column="alarmLevel" />
                <result property="count" column="count" />
            </collection>
        </resultMap>
    
        <!--resultMap的值为上面resultMap的id。 -->
        <select id="getAlarmCountByDate" parameterType="map" resultMap="alarmCountDate">
        <![CDATA[
        select count(t.alarmLevel) as count,t.alarmLevel,date(t.alarmDate) as alarmDate from (select alarmDate,alarmLevel 
        from alarm_info where alarmDate>=#{alarmStartDate} and alarmDate<=#{alarmEndDate}  
        group by alarmLevel,alarmDate ) t group by t.alarmLevel,date(t.alarmDate) order by alarmDate;
         
         ]]>
        </select>
        

    涉及到两个对象类,如下

    类monitor.entity.EntityCountDateList

    package monitor.entity;
    
    import java.util.List;
    
    public class EntityCountDateList {
    
        private String alarmDate;
        private List<EntityCountDate> entityCounts;
        public String getAlarmDate() {
            return alarmDate;
        }
        public void setAlarmDate(String alarmDate) {
            this.alarmDate = alarmDate;
        }
        public List<EntityCountDate> getEntityCounts() {
            return entityCounts;
        }
        public void setEntityCounts(List<EntityCountDate> entityCounts) {
            this.entityCounts = entityCounts;
        }
        
        
    }

    类:monitor.entity.EntityCountDate

    package monitor.entity;
    
    public class EntityCountDate {
    
        private Integer count;
        private String alarmLevel;
        public EntityCountDate(){}
        public EntityCountDate(String alarmLevel,Integer count){
            this.count = count;
            this.alarmLevel = alarmLevel;
        }
        public Integer getCount() {
            return count;
        }
        public void setCount(Integer count) {
            this.count = count;
        }
        public String getAlarmLevel() {
            return alarmLevel;
        }
        public void setAlarmLevel(String alarmLevel) {
            this.alarmLevel = alarmLevel;
        }
        
    }

    在resultMap中配置的entityCounts为类EntityCountDateList中List<EntityCountDate>的名字,这一步很关键。

    <collection property="entityCounts" ofType="monitor.entity.EntityCountDate">

    转载于:https://www.cnblogs.com/ahang/p/6677062.html

    展开全文
  • 在应用中经常要对查询结果排序输出,select语句中的order by子句可用于对查询结果按照一个或多个字段的值进行升序(asc)或降序(desc)排序,一般情况下升序可以省略asc,降序desc不能省略。 其语法为: order by &...
  • 需求:先按员工编号分组排序,然后给每个分组从1,2...排序分析:需要Row_Number() OVER 语法解决: SELECT emp_no,degree, Row_Number() OVER (partition by emp_no ORDER BY degree desc) rank FROM t_hrm_...
  • group by的结果集进行分组过滤

    万次阅读 2018-03-28 14:29:30
    分组,可以这样:GROUP BY子句后面跟随的列名进行分组,然后每一个分组而不是整个表进行操作。举例:在产品表中,检索每一个供应商提供的商品的数量。[sql] view plain copymysql&gt; SELECT vend_id,...
  • 如下sql由于not in子查询结果有null,导致结果行空 ## not in() 子查询结果不能有null,解决办法 加条件 t.userPassword is not null select * from user t where t.userPassword not in ( select t.userPassword ...
  • 当然还可以用java8新特性,lists.stream().collect( Collectors.groupingBy( 实体, 分组的字段 ) //方法一: Map&lt;String,List&lt;Map&lt;String...
  • group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。 在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么...
  • 1、限制查询结果的数量 使用Limit子句来限制Select语句返回的行数,Limit后接起始位置,特别注意的地方是第一条记录的起始位置是0。 语法格式:select 字段名1,字段名2 from 表名 Limit 起始位置,显示行数; 或者...
  • 记录一个数据分组的方法: String groupCondition = "...//根据某种条件查询处理的数据 Map item;//声明供循环使用的对象 Map&lt;String, List&lt;Map&gt;&gt; result= new Ha...
  • SQL高级查询分组查询

    万次阅读 多人点赞 2018-04-09 14:10:03
    在GROUP BY的后面加上一个ALL,表示通过WHERE子句查询得到的结果集进行分组查询后,依然显示被WHERE子句过滤掉的记录,但是其他通过聚合函数统计的数据都会显示0或NULL。 select number 车牌号, COUNT (*...
  • 语句如下: set @rownum = 0; SELECT @rownum := @rownum +1 AS rownum , t.* ...第一句一定要先设置下@rownum,不然之后的结果集中@rownum这列会是null 其中desc是降序排列,也可以改为asc就是升
  • having可以group分组结果集进行过滤,因其执行在分组之后,并其过滤可以基于分组聚集值。(having子句中可以直接使用聚合函数) 有这样的说法,“having子句中的列只能是group by子句中的列或者聚合函数的列”。
  • Sqlite 分组查询

    千次阅读 2017-05-31 18:29:37
    Sqlite 分组查询
  • mysql查询分组之后获取结果集总数

    千次阅读 2014-07-31 12:52:00
    这没有问题,但是如果查询的条件有分组group by 那这个时候获取总数就有问题了,这样是获取每个分组的总数 解决办法: select count(1) as total from ( select id from xxx where .... grouy by .....) as...
  • 表ceshi数据如下: 普通常规变量形式 可以正常显示 使用分组之后 ...会显示分组最后一个值 ...变量里面使用了分组呢 ...总结:查询语句中,避免使用分组计算的结果定义变量,可能会出现各种诡异问题。 ...
  • Mysql-DQL(分组查询)

    2021-01-07 14:46:34
    进阶5:分组查询 ...分组后的结果集 group by后面 having 分组函数做条件肯定放在having中 group by 子句支持单个字段分组,多个字段分组、函数、表达式、可以接排序放在最后 分组函数: count sum max
  • SQL分组查询结果只取最新记录

    万次阅读 热门讨论 2017-08-10 10:26:49
    select a.* from (select * from TABLE order by create_time desc) a group by a.user_id 这里查询的是USER_ID相同的最新一条数据
  • MySQL(八)分组查询

    千次阅读 2019-06-09 12:43:49
    这个时候我们需要用到新的关键字having,having后面添加的也是筛选条件,但是是根据已经查询到的新的结果集进行筛选。我们可以看下面的代码即可: SELECT COUNT ( * ) , department_id FROM employees ...
  • 6、分组 7、分页 8、链接查询 Select * from 表1 inner join 表2 on 表1的字段 = 表2的字段(内链接) Select * from 表1 left join 表2 on 表1的字段 = 表2的字段(左链接) Select * from ...
  • 刚刚接触数据库的真正应用,刚开始有很多困难,在网上找答案也没有十分靠谱的结果,现在我把自己的经验总结下来,希望能给广大小鲜肉一点灵感,不胜荣幸。 比如要实现如下的功能,将表中的数据检索出来,放入到下列...
  • 开发做了好几年但sql 一直很弱,复杂的sql 没怎么写过。其实是因为不会写。...1:GROUP_CONCAT() 他的作用是 将一多的变体 ,按照你指定的 规则 整合为一个字段。 参数 SEPARATOR 关键字 用来指定分隔符
  • 本文章的主要内容是 根据用户的ID来分组查询并获取每组的最大值,如下图所示 我一张普通的积分记录表中,查询出符合条件的数据有3条,当然这是我针对一个用户来查询的,假如我需要获取这三条数据中的 task_correct ...
  • thinkphp5分组查询,利用子查询取到分组后最新数据
  • 子序列查询技术在金融、商业、医疗等领域均有重要应用,但因DTW等相似性比对算法的时间复杂度较高,子序列长度检索时间...最后候选进行序列拼接,获取到查询结果序列。实验表明新算法效率较典型算法提高约10倍。
  • 连接查询分组查询

    千次阅读 2017-09-28 15:59:51
    *** 分组查询: ** 使用 group by 进行分组查询 语句:《有列名:StudentID,CourseID,Scores》 select CourseID,avg(S cores) as 课程平均成绩 from Score group by CourseID 例 1:查询男女学生的人数各是多

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,809
精华内容 40,723
关键字:

对查询结果集分组