0

从统计信息中选择 id、小时、计数;

1, 0, 2
2, 0, 20
3, 1, 10
4, 1, 20 
5, 2, 10
5, 2, 30

我希望输出(小时,计数)呈现为

0, 22
1, 30
2, 40

如何对小时间隔执行唯一计数?

4

4 回答 4

1

您可以使用 group by 子句:

SELECT  hour, count(id)
GROUP BY hour;

所以对于这个数据集:

1, 0, 2
2, 0, 20
3, 1, 10
4, 1, 20 
5, 2, 10
5, 2, 30

你会得到

0, 2
1, 2
2, 2

如果您想获得该小时使用的总和SUM()

SELECT  hour, sum(`count`)
GROUP BY hour;

注意:尽量不要使用字数作为字段名,因为它也是mysql中的关键字

于 2012-10-10T06:17:04.387 回答
1
select hour, sum(count)
from stats
group by hour
于 2012-10-10T06:17:38.677 回答
1

您需要使用SUM()函数来实现:

SELECT hour, sum(`count`) AS `TotalCOUNT`
FROM stats
GROUP BY hour

看到这个 SQLFiddle

于 2012-10-10T06:25:05.343 回答
0

我想按小时从统计数据组中选择小时,总和(计数);

以下是 group by 子句的参考 http://www.techonthenet.com/sql/group_by.php

于 2012-10-10T06:24:29.133 回答