公司每天奖励其中一名员工。数据保存在名为REWARDS
的表中。如下面的示例数据所示,表中每天有一行具有以下结构:
(抱歉表格格式不佳)
REWARD_DATE EMP_ID REWARD_AMT
1-Jan-15 101 400
2-Jan-15 102 300
3-Jan-15 101 700
4-Jan-15 102 500
5-Jan-15 103 100
您可以编写一个查询来报告运行总计如下吗?
REWARD_DATE #EMP TOT_REWARD_AMT
1-Jan-15 1 400
2-Jan-15 2 700
3-Jan-15 2 1400
4-Jan-15 2 1900
5-Jan-15 3 2000
答案 0 :(得分:2)
你可以这样做(现在略微简化):
SELECT b.rdate, COUNT(distinct a.eid) empcnt, SUM(a.amnt) total
FROM tbl a
INNER JOIN tbl b ON b.rdate>=a.rdate
GROUP BY b.rdate