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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM