Я хочу сгруппировать один и тот же doc_type в определенный день вместе. Например, если '1099' doc_type классифицируется дважды 12 декабря 2018 года. Я хочу посчитать их дважды и отобразить частоту как 2.
Вот мой вопрос. Должен ли я выполнять самостоятельное объединение таблицы с условием WHEN doc_type и date равны?
SELECT cast(date_parse(date_time, '%Y/%m/%d %H:%i:%s') AS date) AS Date
, json_array_get (doc_type, 0) AS doc_type
, COUNT(DISTINCT doc_type) as Frequency
FROM "reports"."dev_operator_logs"
WHERE doc_type IS NOT NULL
GROUP BY date_time, doc_type
ORDER BY date_time;

Date Frequency doc_type --------------------------------------------- 2018-12-03 1 BankStatement 2018-12-12 1 Checklist 2018-12-12 1 1099 2018-12-12 1 1099 2018-12-12 1 Note 2018-12-12 1 Ammendatory clause 2018-12-12 1 Note 2018-12-12 1 Ammendatory clause Я добавил изображение таблицы с вопросом. нажмите на ссылку под вопросом.
Я хочу выполнить самостоятельное соединение с таблицей с условием, что, когда дата и doc_Type равны, соответственно увеличивают частоту.
выберите * из (SELECT cast (date_parse (date_time, '% Y /% m /% d% H:% i:% s') AS date) as date, json_array_get (doc_type, 0) AS doc_type, COUNT (DISTINCT doc_type) как Частота ОТ "отчетов". "dev_operator_logs" ГРУППА ПО date_time, doc_type ORDER BY date_time) WHERE doc_type IS NOT NULL;


Возможно, вы просто хотите сгруппировать по date, а не по datetime, и удалить doc_type?
SELECT cast(date_parse(date_time, '%Y/%m/%d') AS date) AS Date,
json_array_get(doc_type, 0) AS doc_type,
COUNT(DISTINCT doc_type) as Frequency
FROM "reports"."dev_operator_logs"
WHERE doc_type IS NOT NULL
GROUP BY cast(date_parse(date_time, '%Y/%m/%d') AS date)
ORDER BY cast(date_parse(date_time, '%Y/%m/%d') AS date);
этот запрос дает тот же результат, что и мой.
наличие count (*), похоже, ничего не меняет.
Привет :) Не могли бы вы предоставить схему и более подробную информацию? Что касается самого запроса, это, вероятно, будет сделано благодаря предложению group by в дате и doc_type, имеющему count (*)> 1 ^^ Но я могу предоставить только реальный ответ с более подробной информацией :)