简体   繁体   English

SQL:合并复杂表中的行

[英]SQL: Merge rows from complexed table

Let's assume there is a raw data table as below: 假设有一个原始数据表,如下所示:

Date  |  ID |  Stats
9/12  |  A  |  10
9/13  |  A  |  20
9/13  |  B  |  5
9/14  |  B  |  3
9/15  |  A  |  100
9/16  |  A  |  200
9/17  |  A  |  250

I want to make a new table by SQL query as below from above: 我想通过SQL查询从上面创建一个新表,如下所示:

Start_Date  |  End_Date  | ID |  Sum(Stats)
9/12        |  9/13      | A  |  30
9/13        |  9/14      | B  |  8
9/15        |  9/17      | A  |  550

In this case, how can I write SELECT query? 在这种情况下,如何编写SELECT查询?

It is working in my tests: 它正在我的测试中工作:

select  
   alias1.DATA,
   alias1.DATA + interval 1 day , 
   alias2.ID, 
   sum(alias2.stats)
from 
   TEST as alias1 inner join 
   TEST as alias2 on (alias2.data >= alias1.data and alias2.data <= alias1.data + interval 1 day)

group by alias1.DATA,alias1.DATA + interval 1 day,alias2.ID

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

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