zoukankan      html  css  js  c++  java
  • MySQL 分组累加

     我的思路是先取出每组累加跟每组总数,再合成一张表进行除法

    要注意取出数据时要找到能与tb_id_num 关联的参数值

    1,求出分组累加

    SELECT id,(
    SELECT SUM(num)
    FROM tb_id_num 
    WHERE `name`=c.name AND id<=c.id) total
    FROM tb_id_num c

     2,求出分组求和

    SELECT name,SUM(num) sum_num
    FROM 
    tb_id_num
    GROUP  BY `name`

     3,合成一张表并查询

    SELECT a.id,a.num,a.`name`
    FROM
    tb_id_num a 
    LEFT JOIN
    (SELECT name,SUM(num) sum_num
    FROM 
    tb_id_num
    GROUP  BY `name`) b
    ON a.name = b.name
    LEFT JOIN
    (
    SELECT id,
    (
    SELECT SUM(num)
    FROM tb_id_num 
    WHERE `name`=c.name AND id<=c.id) total
    FROM tb_id_num c) d
    ON a.id = d.id
    WHERE (d.total / b.sum_num )>0.6

  • 相关阅读:
    hdu5081
    hdu5079
    hdu5076
    hdu5072
    codeforces 739E
    codeforces 739D
    2017.2其他简要题解
    spring事务传播回滚策略
    mybatis一级缓存和二级缓存
    spring-boot-mybatis-starter工作原理
  • 原文地址:https://www.cnblogs.com/jescs/p/12162267.html
Copyright © 2011-2022 走看看