简体   繁体   English

每天的sql查询

[英]sql query for each day

i have a table main: 我有一个主表:

(  
time date,  
qty int  
)  

i want to create a query so for each day i get the sum of qty on that day and all days before that so for this data 我想创建一个查询,以便每天获取当天和之前所有天的数量总和,因此此数据

-----------------------    
time        | qty    
01/09/2009  | 3   
02/09/2009  | 8  
03/09/2009  | 2 
04/09/2009  | 5 

i get: 我得到:

-----------------------    
time        | total    
01/09/2009  | 3   
02/09/2009  | 11  
03/09/2009  | 13 
04/09/2009  | 18 

thanks in advance 提前致谢

SELECT TIME, (SELECT SUM(QTY) FROM main m2 WHERE m2.ITME <= mt1.TIME) AS sum  
FROM main m1  
ORDER BY TIME  

This should do the trick, though it might not be the fastest solution. 尽管这可能不是最快的解决方案,但这应该可以解决问题。

SELECT
  M.Time,
  SUM(M2.Qty) RunningTotal
FROM
  Main M
  LEFT JOIN Main M2 ON M.Time >= M2.Time
GROUP BY
  M.Time;

This should give you a faster result 这应该给您更快的结果

SELECT time
     , @tot_qty := @tot_qty+qty AS tot_qty
FROM Table1 
JOIN (SELECT @tot_qty := 0) d
order by time

SQL FIDDLE SQL字段

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM