根据MySQL中的时间间隔对行进行分组

时间:2017-12-05 07:09:56

标签: mysql group-by

我正在尝试通过行值创建类别。

以下是行:

id只是唯一ID,uid是用户ID,timespent是用户在

中花在网站上的时间>
id  |uid | timespent
--------------------
133 | 41 | 2695
3   | 43 | 49920
45  | 73 | 95
83  | 91 | 5
29  | 109 | 2365
123 | 133 | 70
9   | 431 | 22010
2   | 445 | 15065
97  | 449 | 455
113 | 453 | 3140
5  | 455 | 44975
11 | 463 | 2695
13 | 465 | 5555
15 | 467 | 1775
17 | 469 | 55
19 | 471 | 465
21 | 473 | 380
23 | 475 | 280
25 | 477 | 3165
27 | 479 | 550
31 | 481 | 1530
33 | 483 | 2695
35 | 485 | 125
37 | 487 | 235
39 | 489 | 2120
41 | 493 | 10
43 | 495 | 2735
47 | 497 | 2700
49 | 499 | 2630
51 | 501 | 70
53 | 503 | 2240
55 | 505 | 15
57 | 507 | 5
59 | 509 | 3185
61 | 511 | 555
63 | 513 | 13480

我正在尝试创建不同类别的时间,其中所有这些时间条目都将被调整。

以下是我要做的事情: enter image description here

知道如何实现这一目标吗?

1 个答案:

答案 0 :(得分:2)

这里尝试这样的事情

select 
 sum(case when (timespent/60)<15 THEN 1 ELSE 0 END) '<15',
 sum(case when (timespent/60)>15 and (timespent/60)<30 THEN 1 ELSE 0 END) '15-30',
 from time_table;