首页 > 解决方案 > Oracle 按客户和日期分组

问题描述

我有一个有效的休闲查询:

SELECT count(cand_id) as candidates, SB.client_id as client
            FROM REPLIES r
            JOIN clients sb on sb.main_acc_id = r.acc_id
            where reply_dt >= TO_DATE('2021-02-08 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
            AND reply_dt <= TO_DATE('2021-02-15 23:59:59', 'YYYY-MM-DD HH24:MI:SS')
            AND sb.status = 'A'
            GROUP BY client_id

它产生如下结果:

 Candidates| Clients
     2     |  client 1
     4     |  cleint 2
    56     |  client whatever..  

在给定的日期范围内,我将如何按天和客户细分候选人数量?所以它会显示当天,没有候选人,客户

标签: sqloracleoracle9i

解决方案


Does this do what you want?

SELECT TRUNC(r.reply_dt), sb.client_id, COUNT(cand_id) as candidates
FROM REPLIES r JOIN
     clients sb 
     ON sb.main_acc_id = r.acc_id
WHERE sb.status = 'A'
GROUP BY TRUNC(r.reply_dt), client_id

推荐阅读