|
|
|
Проблема подсчета кол-ва созданных и измененных (помощь в скрипте)
|
|||
|---|---|---|---|
|
#18+
Добрый день, Есть таблица из 5 полей Trademark - торговая марка Product - продукт данной марки Creation - дата создания Change - дата изменения User - пользователь, изменивший запись (может принимать значение User1, User2 и User3) Creation для каждой строки продукта одинакова Необходимо для каждого Trademark рассчитать: - кол-во продуктов, созданных с 2020 года - кол-во продуктов, созданных в 2019 году - кол-во продуктов, измененных с 2020 года (может не совпадать с предыдущим пунктом, т.к. некоторые созданы до 2020 года) - кол-во продуктов, измененных пользователем User1 с 2020 года - кол-во продуктов, изменненных User2 c 2020 года Желательно выполнить одним запросом Пытался использовать Count(distinct), но проблема в том, что условие для кол-ва созданных и измененных действует для разных столбцов, а оконные функции возвращают тоже по условию основного селекта. Есть ли возможность прописать условия отбора внутри самой оконной функции или Count? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2021, 13:44 |
|
||
|
Проблема подсчета кол-ва созданных и измененных (помощь в скрипте)
|
|||
|---|---|---|---|
|
#18+
Tayler_Divers Есть ли возможность прописать условия отбора внутри самой оконной функции или Count? Да запросто. Только надо использовать SUM. Код: sql 1. В MySQL TRUE есть алиас единицы, а FALSE - алиас нуля. Так что SUM() просто подсчитает количество записей, для которых условие истинно. Получится типа Код: sql 1. 2. 3. 4. 5. 6. 7. Условие во WHERE позволяет не обрабатывать заведомо неподходящие записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2021, 14:09 |
|
||
|
Проблема подсчета кол-ва созданных и измененных (помощь в скрипте)
|
|||
|---|---|---|---|
|
#18+
Akina, А как учесть уникальность? например, есть 3 строки для одного продукта Printer 10/03/2020 11/04/2020 User1 Printer 10/03/2020 15/04/2020 User2 Printer 10/03/2020 20/04/2020 User2 Sum по идее будет выводить значение 3 по дате создания,поскольку каждая строка будет попадать под условие "создано после 2020 года" А как прописать грамотно Count с условием в таком случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2021, 14:16 |
|
||
|
Проблема подсчета кол-ва созданных и измененных (помощь в скрипте)
|
|||
|---|---|---|---|
|
#18+
В этом случае нужно не просто условие, а вывод поля/выражения, которое определяет уникальность. Т.е. не Код: sql 1. а Код: sql 1. CASE вернёт или product (если условие выполняется) или NULL. COUNT() проигнорирует NULL и подсчитает количество уникальных product. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2021, 15:15 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=40077944&tid=1828034]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 506ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...