从星期一开始的周间隔查询

莫恩

小提琴

我需要做一个JasperReport。我需要显示账户过程的总数,分解成weekly intervalsnumberactivateddeclined账户。

到目前为止,对于每周间隔查询:

SELECT *
FROM account_details
WHERE DATE date_opened = DATE_ADD(2014-01-01, INTERVAL(1-DAYOFWEEK(2014-01-01)) +1 DAY)

这似乎是正确的,但不POSTGRES正确。它一直在抱怨1-DAYOFWEEK这是我有望实现的目标:

在此处输入图片说明

更新这是非常丑陋的,但我不知道有什么更好的。Id可以完成工作。但是不知道它是否可以重构为至少看起来更好。我现在也不知道如何处理被零除的问题。

        SELECT to_char(d.day, 'YYYY/MM/DD  -  ') || to_char(d.day + 6, 'YYYY/MM/DD') AS Month
         , SUM(CASE WHEN LOWER(situation) LIKE '%active%' THEN 1 ELSE 0 END)     AS Activated
         , SUM(CASE WHEN LOWER(situation) LIKE '%declined%' THEN 1 ELSE 0 END) AS Declined
         , SUM(CASE WHEN LOWER(situation) LIKE '%declined%' OR LOWER(situation) LIKE '%active%' THEN 1 ELSE 0 END) AS Total
         , to_char( 100.0 *( (SUM(CASE WHEN LOWER(situation) LIKE '%active%' THEN 1 ELSE 0 END)) / (SUM(CASE WHEN LOWER(situation) LIKE '%declined%' OR LOWER(situation) LIKE '%active%' THEN 1 ELSE 0 END))::real) , '99.9') AS percent_activated
         , to_char( 100.0 *( (SUM(CASE WHEN LOWER(situation) LIKE '%declined%' THEN 1 ELSE 0 END)) / (SUM(CASE WHEN LOWER(situation) LIKE '%declined%' OR LOWER(situation) LIKE '%active%' THEN 1 ELSE 0 END))::real) , '99.9') AS percent_declined
    FROM   (
       SELECT day::date
       FROM   generate_series('2014-08-01'::date, '2014-09-14'::date, interval '1 week') day
       ) d
    JOIN   account_details a ON a.date_opened >= d.day 
                            AND a.date_opened <  d.day + 6
    GROUP  BY d.day;
欧文·布兰德斯特(Erwin Brandstetter)
SELECT to_char(d.day, 'YYYY/MM/DD" - "')
    || to_char(d.day + 6, 'YYYY/MM/DD') AS week
     , count(situation ILIKE '%active%' OR NULL) AS activated
     , ...
FROM   (
   SELECT day::date
   FROM   generate_series('2014-08-11'::date
                        , '2014-09-14'::date
                        , '1 week'::interval) day
   ) d
LEFT   JOIN account_details a ON a.date_opened >= d.day 
                             AND a.date_opened <  d.day + 7  -- 7, not 6!
GROUP  BY d.day;

相关答案:

有关计数特定值的更多信息:

撇开:您通常会使用enum或查找表,仅存储的ID situation,而不是多余的冗长文本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

日历从星期一开始

来自分类Dev

Bootstrap Datetimepicker从星期一开始

来自分类Dev

如何使FreeCSD变体在星期一开始校准?

来自分类Dev

如何从星期日而不是星期一开始在ng bootstrap Datepicker中启动日历周?

来自分类Dev

从每年的04:00开始,从星期一开始获取星期数

来自分类Dev

SAP HANA SQL-从星期几开始?WEEK()默认从星期一开始

来自分类Dev

getdate [“ weekday”]如何从星期一开始而不是星期日开始?

来自分类Dev

Bootstrap 3 Datetimepicker 3.0.0-在星期一开始一个星期

来自分类Dev

我如何获得从星期一开始的星期几订单

来自分类Dev

在标准 sql 中获取从星期一开始的星期日期

来自分类Dev

仅启用星期一并在 html5 中从星期一开始

来自分类Dev

从下一个星期一开始在wordpress中安排活动

来自分类Dev

对于通过DayOfWeek枚举从星期一开始的每个循环?

来自分类Dev

Highstocks工具提示删除短语“从星期一开始”

来自分类Dev

如何使Java日历从星期一开始工作日?

来自分类Dev

H2 DB DAY_OF_WEEK星期一开始

来自分类Dev

如何仅从最近的星期一开始接受数据

来自分类Dev

当每周从星期一开始时,如何简化逻辑?

来自分类Dev

使用python,我如何从星期三而不是星期日或星期一开始我的几周?

来自分类Dev

Python:查找日期,从今天的前两个月开始,从星期一开始

来自分类Dev

bash:删除所有早于1个月的文件,但从星期一开始保留文件

来自分类Dev

Logstash一开始就崩溃

来自分类Dev

如何创建以星期一为星期开始的一周至今的Tableau计算

来自分类Dev

Java的DateTimeFormatter开始星期从星期一

来自分类Dev

SQL Server:让星期一成为一周的开始

来自分类Dev

在C#中如何确定不同文化下的一周的开始是星期一还是星期天

来自分类Dev

如何从一开始就启动vim?

来自分类Dev

Elasticsearch一开始不能使用斜杠

来自分类Dev

为什么代码一开始会打印0

Related 相关文章

  1. 1

    日历从星期一开始

  2. 2

    Bootstrap Datetimepicker从星期一开始

  3. 3

    如何使FreeCSD变体在星期一开始校准?

  4. 4

    如何从星期日而不是星期一开始在ng bootstrap Datepicker中启动日历周?

  5. 5

    从每年的04:00开始,从星期一开始获取星期数

  6. 6

    SAP HANA SQL-从星期几开始?WEEK()默认从星期一开始

  7. 7

    getdate [“ weekday”]如何从星期一开始而不是星期日开始?

  8. 8

    Bootstrap 3 Datetimepicker 3.0.0-在星期一开始一个星期

  9. 9

    我如何获得从星期一开始的星期几订单

  10. 10

    在标准 sql 中获取从星期一开始的星期日期

  11. 11

    仅启用星期一并在 html5 中从星期一开始

  12. 12

    从下一个星期一开始在wordpress中安排活动

  13. 13

    对于通过DayOfWeek枚举从星期一开始的每个循环?

  14. 14

    Highstocks工具提示删除短语“从星期一开始”

  15. 15

    如何使Java日历从星期一开始工作日?

  16. 16

    H2 DB DAY_OF_WEEK星期一开始

  17. 17

    如何仅从最近的星期一开始接受数据

  18. 18

    当每周从星期一开始时,如何简化逻辑?

  19. 19

    使用python,我如何从星期三而不是星期日或星期一开始我的几周?

  20. 20

    Python:查找日期,从今天的前两个月开始,从星期一开始

  21. 21

    bash:删除所有早于1个月的文件,但从星期一开始保留文件

  22. 22

    Logstash一开始就崩溃

  23. 23

    如何创建以星期一为星期开始的一周至今的Tableau计算

  24. 24

    Java的DateTimeFormatter开始星期从星期一

  25. 25

    SQL Server:让星期一成为一周的开始

  26. 26

    在C#中如何确定不同文化下的一周的开始是星期一还是星期天

  27. 27

    如何从一开始就启动vim?

  28. 28

    Elasticsearch一开始不能使用斜杠

  29. 29

    为什么代码一开始会打印0

热门标签

归档