FIDDLEнеделя интервал запроса, начиная с понедельника
мне нужно сделать JasperReport. то, что мне нужно отобразить, - это общее количество процессов счетов, разбитое на weekly intervals
с number
из activated
и declined
счетов.
Для еженедельного интервала запроса я получил до сих пор:
SELECT *
FROM account_details
WHERE DATE date_opened = DATE_ADD(2014-01-01, INTERVAL(1-DAYOFWEEK(2014-01-01)) +1 DAY)
Это кажется правильным, но не POSTGRES
правильно. Он продолжает жаловаться на 1-DAYOFWEEK
. Вот то, что я надеюсь, достичь:
UPDATE Это очень некрасиво, но я не знаю лучше. Ид делает работу, хотя. Но не знаю, можно ли переусердствовать, по крайней мере, выглядеть лучше. Я также не знаю, как обрабатывать деление на ноль на данный момент.
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;
Литеральные значения даты и времени между единичными кавычками, как '' 2014-01-01''. –
, в то время как 'SELECT 2014-01-01' * действителен *, он оценивает' 2012' - также вы совершенно неправильно поняли, что такое буквальный, и что такое вызов функции - посмотрите здесь: http: // www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS-GENERIC - значения и выражения столбцов уже имеют тип, их не нужно * отмечать *, но иногда они должны быть * casted * http://www.postgresql.org/docs/current/static/sql-expressions.html#SQL-SYNTAX-TYPE-CASTS – pozs
Ссылка «Fiddle» не является скрипкой, а другая образ. Возможно, путаница ссылок? –