SQL按bin计数

时间:2013-11-21 16:26:18

标签: sql

假设我有一个类似于

的表(称为EXAMPLE_TABLE)
EPOCH, COL1, COL2, 
(timestamps in milliseconds, column1 value, column2 value)

请注意,纪元时间戳以毫秒为单位。我想获得每秒的条目数。例如,如果EXAMPLE_TABLE是

EPOCH, COL1, COL2, 
123456, x, x
123457, y, y
145678, z, z

我会得到

SECONDS, COUNT
123, 2
145, 1

感谢您的帮助,我对SQL并不熟悉。

2 个答案:

答案 0 :(得分:1)

使用舍入功能可以快速处理纪元整数。我使用了floor,因为这会返回最低的整秒,但根据您的要求round可能是合适的。另外,根据您的数据库,您可能需要使用truncate或其他类似的舍入函数。

SELECT
FLOOR(EPOCH/1000) AS SECONDS,
COUNT(*) AS COUNT
FROM EXAMPLE_TABLE
GROUP BY FLOOR(EPOCH/1000)

答案 1 :(得分:0)

SELECT ROUND(EPOCH/1000,0),
       COUNT(*)
FROM   EXAMPLE_TABLE
GROUP BY ROUND(EPOCH/1000,0)