powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вывод данных с противоречивыми условиями
6 сообщений из 6, страница 1 из 1
Вывод данных с противоречивыми условиями
    #40025048
qw3er5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Недавно начала работать в анализе данных и сталкиваюсь с задачками, которые могу решить, но очень неоптимизированно (на мой взгляд). Прошу у вас помощи в разъяснении и, возможно, в источниках, которые мне необходимо почитать :)
Заранее большое спасибо!

Есть таблица (во вложении пример), в которой указаны ID товара, их сегментация (новинка, в продаже, выведен из продажи), а так же дата присвоения этой сегментации. Т.е. каждый товар может быть записан трижды с каждым новым сегментом.
Мне нужно вывести историческую динамику, товары, которые сейчас являются новинками и товары, которые были новинками месяц назад (в одном запросе - идеально). Достаточно вывести количество товаров.

У меня не получается вывести это в одном запросе, я пробовала через HAVING COUNT(Сегмент) = 1 и ограничивала дату - меньше месяца назад, потому что сначала всегда присваивается сегмент "Новинка", а потом уже все остальные, но с ограничением Having, в SELECT не засунешь Count(ID), тоже не понимаю почему.

Я думаю, самым правильным решением будет вот такое условие: Если до 06.11.2020 сегмент равен "Новинка", а после 06.11.2020 равен другому сегменту, то посчитать количество ID (это кол-во месяц назад). Если сегмент равен Новинка и больше никакому не равен, то посчитать кол-во ID (это кол-во сейчас).
...
Рейтинг: 0 / 0
Вывод данных с противоречивыми условиями
    #40025391
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qw3er5,

Пункт 6
...
Рейтинг: 0 / 0
Вывод данных с противоречивыми условиями
    #40025620
qw3er5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Щукина Анна, вложила файл с указанием типов полей и прикладываю мой код, который не работает в данном случае. Хочется вывести сразу количество и месяц назад и сейчас.

Остальные данные предоставить не могу, потому что не знаю, где их взять.

Код: sql
1.
2.
3.
Select COUNT (distinct ID)
Where Date <=(getdate()-30)::date
Having COUNT(Segment) = 1
...
Рейтинг: 0 / 0
Вывод данных с противоречивыми условиями
    #40026112
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
Щукина Анна,

Анна напишите мне в личку на форуме или на mb@pgco.me, есть возможно интересное для Вас предложение

ps: написал сюда потому что на ЛС вы не отвечаете.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
Судя по всему, личка доступна "не только лишь всем"(с). Пристальным разглядыванием интерфейса форума не удалось выявить место дислокации функционала личных сообщений... Напишу в почту...
...
Рейтинг: 0 / 0
Вывод данных с противоречивыми условиями
    #40026115
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qw3er5,

приведите тестовые данные в удобном для использования виде.
Вот так примерно:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
with test_data("id", "date", "segment") as 
(
select 1, '2020-01-01'::date, 'Новинка' union all
select 2, '2020-03-10'::date, 'В продаже' union all
...
select 100500, '2020-12-09'::date, 'Выведен из продажи'
)
select * from test_date



А также тот результат, который с вашей точки зрения должен получаться на данном тестовом наборе.
...
Рейтинг: 0 / 0
Вывод данных с противоречивыми условиями
    #40027226
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
(в общем это разговор о работе будет как вы наверное догадались ;) ).
Предложение эксклюзивное и рассчитано исключительно для Анны, или другие участники форума тоже имеют шанс? ;)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вывод данных с противоречивыми условиями
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]