mysql - SQL : Merge rows from complexed table

标签 mysql group-by

假设有一个原始数据表如下:

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

我想通过上面的 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

在这种情况下,我该如何编写 SELECT 查询?

最佳答案

它在我的测试中有效:

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

关于mysql - SQL : Merge rows from complexed table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39775867/

相关文章:

mysql - 使用查询按 project_id 列出

mysql - 查找最小值并包含正确的列值

mysql union 和 group by similar fields

mysql - SQL SELECT DISTINCT 和 GROUP BY 查询不起作用

mysql - 无法添加外键

java - J表: getting data from table

python - Pandas:如何使用 groupby 选项获取列中每个值的计数

sql - 使用 GROUP BY 与 DISTINCT 时的巨大性能差异

php - 如何使用由iphone应用程序发送的时区将时间戳存储在mysql数据库中

php - 如何获取mysql数据库表上次更新的确切日期和时间?