1 chainzhao 2021-01-27 20:43:49 +08:00 SELECT user ,SUM(value) from table where date BETWEEN 20200101 AND 20200103 GROUP BY user ORDER BY SUM(value) LIMIT(0,10); |
2 diyazhu OP |
3 ebingtel 2021-01-28 08:57:45 +08:00 mark……如果是微服务、多个接口的情况,如果对聚合值进行有效排序? |
![]() | 4 weizhen199 2021-01-28 09:20:32 +08:00 @diyazhu 你最好再具体点,比如表分不分库 |
5 diyazhu OP @weizhen199 不分库。时间范围可能会是多个表里。这边只是举了个按照 sum(A)降序排列的需求。 其实还有表中的两列 B 、C,按照 sum(B) / sum(C) 降序排列的需求。 |
![]() | 6 weizhen199 2021-01-28 13:40:53 +08:00 @diyazhu 拉报表还是要求实时的。 |
7 diyazhu OP @weizhen199 报表 |
8 diyazhu OP 补充一下,这应该不能直接用 sql 来做。会有多个表做 union,耗时、耗 db 的内存。大佬们实际工作遇到了是怎么处理的,新的组件或者其他? |