-
-
张瑞阿 初学数据Lv2
发表于2023-1-3 09:53
悬赏1
未解决
楼主
各位大佬,求救、设置浮动分组后,选择top3,查看执行sql发现是count()进行排序,取前三;有办法设置成sum()嘛?
25个回答
一点一点 发表于 2023-1-3 18:02
数据库里的数据是动态的?
不是。就很神奇。生成的sql是这样的,为啥要关联两遍呢?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