|
Повторяющиеся значения в рамках одной группы ?
|
|||
---|---|---|---|
#18+
Народ, в очередной раз прошу помощи. Задача следующая, выявить повторные покупки у одного клиента одинаковых товаров и одинаковые покупки в целом по всем клиентам. Например один клиент покупает масло и хлеб постоянно, нужно по чекам посмотреть сколько таких чеков, в которых у одного клиента таких связок товаров (масло + хлеб) и в целом по всем продажам, сколько связок масло+хлеб у всех клиентов. Пример таблицы в аттаче, а так же два варианта вывода, которые должны получиться. Вариант вывода 1 - по всем клиентам, вывод 2 - в разрезе клиента. Я пробовал с помощью lag, но при проверке обычным join - данные не верные. SELECT articul_, d1, MAX(row_n) et FROM( SELECT articul_, d1, ROW_NUMBER() OVER(PARTITION BY ARTICUL_, d1 ORDER BY date_) Row_N FROM( SELECT * FROM( SELECT *, LAG(articul_, 1) OVER(PARTITION BY client_id, check_num ORDER BY articul_) AS d1 FROM table) y) E) t GROUP BY articul_, d1 ORDER BY et DESC; ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 14:18 |
|
Повторяющиеся значения в рамках одной группы ?
|
|||
---|---|---|---|
#18+
То есть нужны наиболее часто встречающиеся комбинации в каком-то разрезе (товар-клиент, в данном случае), верно? Тогда танцевать отсюда копипаста Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 16:52 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1685115]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
14ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 308ms |
total: | 583ms |
0 / 0 |