mysql按小时分组

vwhgwdsa  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(539)

这是为了显示我的平台在一小时内有多少连接。
在我注解“variable”的地方,它是从前端接收的内容,这个查询将在后端运行以填充图表。

  1. SELECT
  2. count(server_events.event_type),
  3. server_events.time_stamp,
  4. hotspots.partner_id,
  5. hotspots.partner,
  6. hotspots.operator_id
  7. FROM
  8. `msp-data`.server_events
  9. INNER JOIN
  10. `adserver`.hotspots, `adserver`.operator
  11. WHERE
  12. server_events.time_stamp between "1591930800" and "1592017199" -- variable
  13. and server_events.event_type = "auth_final"
  14. and server_events.nas_id = adserver.hotspots.code
  15. and hotspots.partner_id = "1" -- variable
  16. and hotspots.operator_id = "2" -- variable
  17. GROUP BY
  18. server_events.time_stamp div 3600
  19. ORDER BY
  20. server_events.time_stamp

这是我当前的输出,我发布了完整的查询,但是在这个输出中我没有得到partner和partner\u id或operator\u id的过滤器

  1. count time_stamp partner_id operator_id
  2. 6 1591944931 1 1
  3. 12 1591945711 1 5
  4. 6 1591952103 1 1
  5. 36 1591952621 1 1
  6. 18 1591956063 1 1
  7. 12 1591962118 1 4
  8. 6 1591966538 1 1
  9. 6 1591968554 1 1
  10. 12 1591973267 1 5
  11. 18 1591976918 1 1
  12. 18 1591978620 1 5
  13. 12 1591983139 1 5
  14. 12 1591984830 1 1
  15. 24 1591989873 1 1
  16. 12 1591993080 1 1
  17. 30 1591995612 1 1

输出
预期产出为

  1. 10 1591930800-1591934399
  2. 15 1591934400-1591937999
6qqygrtg

6qqygrtg1#

尝试在下面执行。试着考虑一下草莓的建议。

  1. SELECT SUM(CNT), TM FROM(SELECT DISTINCT
  2. count(server_events.event_type) OVER(PARTITION BY hotspots.partner_id,hotspots.partner,hotspots.operator_id,server_events.time_stamp/3600) CNT
  3. server_events.time_stamp/3600 TM
  4. FROM
  5. `msp-data`.server_events
  6. INNER JOIN
  7. `adserver`.hotspots, `adserver`.operator
  8. WHERE
  9. server_events.time_stamp between "1591930800" and "1592017199" -- variable
  10. and server_events.event_type = "auth_final"
  11. and server_events.nas_id = adserver.hotspots.code
  12. and hotspots.partner_id = "1" -- variable
  13. and hotspots.operator_id = "2" -- variable
  14. )
  15. GROUP BY TM
  16. ORDER BY
  17. 2

mysql版本12下

  1. SELECT SUM(CNT), TM FROM(SELECT
  2. count(A.event_type) cnt,
  3. hotspots.partner_id,hotspots.partner,hotspots.operator_id,tm
  4. FROM
  5. (SELECT A.time_stamp/3600 AS TM,A.* FROM `msp-data`.server_events A ) A
  6. INNER JOIN
  7. `adserver`.hotspots, `adserver`.operator
  8. WHERE
  9. A.time_stamp between "1591930800" and "1592017199" -- variable
  10. and A.event_type = "auth_final"
  11. and A.nas_id = adserver.hotspots.code
  12. and hotspots.partner_id = "1" -- variable
  13. and hotspots.operator_id = "2" -- variable
  14. group by hotspots.partner_id,hotspots.partner,hotspots.operator_id,TM
  15. ) aliaz
  16. GROUP BY TM
  17. ORDER BY
  18. 2
展开查看全部
ohtdti5x

ohtdti5x2#

@伊斯梅特古泽尔根

  1. SELECT SUM(CNT), TM FROM(SELECT
  2. count(A.event_type) cnt,
  3. hotspots.partner_id,
  4. hotspots.partner,
  5. hotspots.operator_id,
  6. TM
  7. FROM
  8. (SELECT
  9. A.time_stamp/3600 AS TM,
  10. A.* FROM `msp-data`.server_events A
  11. ) A
  12. INNER JOIN
  13. `adserver`.hotspots,
  14. `adserver`.operator
  15. WHERE
  16. A.time_stamp between "1591930800" and "1592017199" -- variable
  17. and A.event_type = "auth_final"
  18. and A.nas_id = adserver.hotspots.code
  19. -- and hotspots.partner_id = "1" -- variable
  20. -- and hotspots.operator_id = "2" -- variable
  21. GROUP BY
  22. hotspots.partner_id,
  23. hotspots.partner,
  24. hotspots.operator_id,
  25. TM
  26. ) B
  27. GROUP BY TM
  28. ORDER BY
  29. 2

现在提供此输出:

  1. SUM(CNT) TM
  2. 6 442206.9253
  3. 6 442207.1419
  4. 6 442207.9306
  5. 6 442208.9175
  6. 6 442209.0614
  7. 6 442209.2531
  8. 6 442209.3533
  9. 6 442209.4050
  10. 6 442209.4150
  11. 6 442209.4969
  12. 6 442210.0175
  13. 6 442210.1089
  14. 6 442210.4747
  15. 6 442211.6994
  16. 6 442211.7619
  17. 6 442212.9272
  18. 6 442213.4872
  19. 6 442214.0711
  20. 6 442214.7964
  21. 6 442215.4461
  22. 6 442215.5736
  23. 6 442215.8106
  24. 6 442216.2833
  25. 6 442216.2908
  26. 6 442216.7419
  27. 6 442217.5386
  28. 6 442217.6267
  29. 6 442218.0083
  30. 6 442218.3764
  31. 6 442219.4092
  32. 6 442219.6553
  33. 6 442219.8953
  34. 6 442219.9933
  35. 6 442220.3000
  36. 6 442220.9611
  37. 6 442221.0033
  38. 6 442221.0297
  39. 6 442221.6656
  40. 6 442221.7533
  41. 6 442221.7897
展开查看全部

相关问题