示例数据:
????????????????????????????????????????????????????????????? ? ID ? START ? STOP ? USER ? FILE ? SIZE ? ????????????????????????????????????????????????????????????? ? 1 ? 1330133409 ? 1330133410 ? user1 ? file1.zip ? 300000 ? ? 2 ? 1330133409 ? 1330133410 ? user1 ? file2.zip ? 300500 ? ? 3 ? 1330133409 ? 1330133410 ? user2 ? file1.zip ? 300000 ? ? 4 ? 1330133409 ? 1330133410 ? user2 ? file2.zip ? 300500 ? ? 5 ? 1330133409 ? 1330133410 ? user1 ? file3.zip ? 500000 ? ? 6 ? 1330133409 ? 1330133310 ? user6 ? file3.zip ? 500000 ? ?????????????????????????????????????????????????????????????
我需要创建一个MySQL查询来计算PER_USER_AVERAGE_BANDWIDTHwhere PER_USER_AVERAGE_BANDWIDTH = SUM(SIZE) / (STOP - START),然后按顺序PER_USER_AVERAGE_BANDWIDTH生成如下结果:
?????????????????????????????????????? ? USER ? PER_USER_AVERAGE_BANDWIDTH ? ?????????????????????????????????????? ? user3 ? 110.37 ? ? user1 ? 100.25 ? ? user2 ? 75.70 ? ??????????????????????????????????????
清楚如泥;)任何人?
我认为您的平均值应该是总持续时间的总大小,按用户分组:
SELECT USER,
SUM(SIZE) / SUM(STOP - START) AS PER_USER_AVERAGE_BANDWIDTH
FROM my_table
GROUP BY USER
ORDER BY PER_USER_AVERAGE_BANDWIDTH DESC
Run Code Online (Sandbox Code Playgroud)
在sqlfiddle上查看它。
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |