编写不同月份的查询

时间:2017-08-15 07:16:12

标签: javascript oracle

我正在尝试制作一张图表,显示公司每天的总销售额。这是我查询今天的总销售额的问题:

select count(*) from registered_devices where  status = 1;

这是在7天前查找总销售额的查询:

 select count(*) from registered_devices where sysdate - 7 <TO_DATE('19700101','yyyymmdd') + ((create_time)/1000/24/60/60) and status = 1;

我想了解每一天的总销售价值,并将它们放在Highcharts图表上。但是如你所知,有些月份有31个月,其他月份有30天,所以我不能单独写每天的查询。你能帮帮我吗?我如何为每个月的每一天写一个查询,因为每个月有不同的天数?谢谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用TO_CHAR()并在当天汇总:

SELECT
    TO_CHAR(create_time, 'yyyy/mm/dd'),
    COUNT(*)
FROM registered_devices
WHERE status = 1
GROUP BY
    TO_CHAR(create_time, 'yyyy/mm/dd')

这里需要注意的是,如果没有任何活动,上述查询将不会输出给定的日期。如果您想保证每天都能展示,您可以创建一个日历表。

此外,您可以通过向检查WHERE的{​​{1}}子句添加其他条件来限制日期范围。