相关疑难解决方法(0)

SELECT/GROUP BY - 时间段(10秒,30秒等)

我有一个表(MySQL),每隔n秒捕获一次样本.该表有许多列,但重要的是两个:时间戳(TIMESTAMP类型)和计数(INT类型).

我想做的是在一定范围内获得计数列的总和和平均值.例如,我每2秒记录一次样本,但我希望所有样本的10秒或30秒窗口中所有样本的计数列总和.

这是一个数据示例:

+---------------------+-----------------+
| time_stamp          | count           |
+---------------------+-----------------+
| 2010-06-15 23:35:28 |               1 |
| 2010-06-15 23:35:30 |               1 |
| 2010-06-15 23:35:30 |               1 |
| 2010-06-15 23:35:30 |             942 |
| 2010-06-15 23:35:30 |             180 |
| 2010-06-15 23:35:30 |               4 |
| 2010-06-15 23:35:30 |              52 |
| 2010-06-15 23:35:30 |              12 |
| 2010-06-15 23:35:30 |               1 |
| 2010-06-15 23:35:30 |               1 |
| 2010-06-15 23:35:33 |            1468 |
| 2010-06-15 23:35:33 | …

mysql sql select group-by

39
推荐指数
2
解决办法
3万
查看次数

组表分为15分钟

T-SQL,SQL Server 2008及更高版本

给出一个样本表

 StatusSetDateTime   | UserID | Status    | StatusEndDateTime   | StatusDuration(in seconds)
============================================================================
 2012-01-01 12:00:00 | myID   | Available | 2012-01-01 13:00:00 | 3600
Run Code Online (Sandbox Code Playgroud)

我需要将其分解为一个使用15分钟间隔的视图,例如:

IntervalStart       | UserID | Status | Duration

===========================================

2012-01-01 12:00:00 | myID | Available | 900 

2012-01-01 12:15:00 | myID | Available | 900

2012-01-01 12:30:00 | myID | Available | 900 

2012-01-01 12:45:00 | myID | Available | 900 

2012-01-01 13:00:00 | myID | Available | 0

etc....
Run Code Online (Sandbox Code Playgroud)

现在我已经能够四处搜寻并找到了一些疑问,这将打破我发现类似的东西的MySQL 这里:

而东西T-SQL …

sql t-sql sql-server group-by sql-server-2008

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

group-by ×2

sql ×2

mysql ×1

select ×1

sql-server ×1

sql-server-2008 ×1

t-sql ×1