我有一张TableA表,其中有客户记录。它还有一种叫做“名字”的特定类型。基本上每天都会注册新客户,并将此注册记录添加到数据库中,其名称为' NAME'类型。我目前需要的只是AUG,SEP,OCT和NOV每天到15日的NAME参考号的数量。
select count(referenceid)
from tableA
where type = 'NAME'
如果我需要整整一个月的计数,我会做以下
select count(referenceid)
from tableA
where type = 'NAME'
and TIMESTAMP BETWEEN TO_DATE('01-AUG-16') AND TO_DATE('31-AUG-16')
我不确定如何自动获取上述所有月份的每日计数。如果没有自动化方式,我必须每天运行相同的查询近90次。
如果有人可以提供帮助,我将不胜感激。
答案 0 :(得分:1)
如果我理解正确,请尝试GROUP BY
每天使用TIMESTAMP
。
SELECT TO_CHAR(TIMESTAMP, 'YYYY-MM-DD') AS yourDate, COUNT(referenceid)
FROM tableA
WHERE type='NAME' AND TIMESTAMP BETWEEN TO_DATE('01-AUG-16') AND TO_DATE('31-AUG-16')
GROUP BY TO_CHAR(TIMESTAMP, 'YYYY-MM-DD')
ORDER BY yourDate
答案 1 :(得分:-1)
select
count(referenceid),
DATENAME(MONTH,[datetimecolumn])
from tableA
where type='NAME'
GROUP BY MONTH([datetimecolumn])