-
-
张瑞阿 初学数据Lv2
发表于2023-1-3 09:53
悬赏1
未解决
楼主
各位大佬,求救、设置浮动分组后,选择top3,查看执行sql发现是count()进行排序,取前三;有办法设置成sum()嘛?
25个回答
一点一点 发表于 2023-1-3 12:02
本地做了个例子,sql里是sum哈,您看下是不是这样的效果。
是的、就是想要这种效果,但是我这里我把所有东西全删了。只保留关键字段,求和是sum,最后排序取前三也还是count()。SELECT *
FROM (
SELECT a.C3 AS C3
,a.B3 AS B3
,COUNT(b.C3) AS C3_sortn
FROM (
SELECT SUM(a.amt) AS C3
,a.cust_nm AS B3
FROM a_corp_cust_in_acct_track_camp a
WHERE (a.data_date = '20220531')
GROUP BY a.cust_nm
) a
,(
SELECT SUM(a.amt) AS C3
,a.cust_nm AS B3
FROM a_corp_cust_in_acct_track_camp a
WHERE (a.data_date = '20220531')
GROUP BY a.cust_nm
) b
WHERE (a.C3 <= b.C3)
GROUP BY a.B3
,a.C3
HAVING (COUNT(b.C3) <= 3)
ORDER BY C3_sortn
) AS temp_
LIMIT 500000


本帖最后由 一点一点 于 2023-1-3 15:54 编辑
张瑞阿 发表于 2023-1-3 15:25
但是求top3的时候它把sum结果给count了,求得
可以截图看看表格的计算结果?您这边表格计算结果是和期望效果不一样吗
一点一点 发表于 2023-1-3 17:46
你是说,同一样报表,不做任何更改,多次计算,有的时候两条数据,有的时候三条? ...
是的、就一直点计算刷新页面,有时候两条有时候三条。这条sql从数据库跑是三条