|
Разбиение строк на группы по условию
|
|||
---|---|---|---|
#18+
Здравствуйте! У меня таблица есть таблица цен, строки ранжированы по возрастанию цены, мне необходимо разбить ее на группы строк (пометить каким-то образом) по следующему условию. Сравниваем строку с минимальной ценой (первая строка) со строкой с второй по возрастанию цены, вычисляем разницу между ними (например 10 процентов), затем первую с третьей, первую с четвертой, и.т.д. как только разница составляет 30 процентов мы все строки до этой (назовем ее n) помечаем как отдельную подгруппу. Далее повторяем также операции для строки n (то есть сравниваем с n+1, n+2,n+3, итд), пока не доберёмся до той где разница будем 30 процентов. Так до конца таблицы. Как сравнить, пометить строки где превышение 30 процентов понимаю (использую lag), но как итеративно идти от одной такой строки до другой без использования курсоров (чего очень не хочется) не понимаю. Ntile требуемым функционалом также не обладает. Ребята, пожалуйста, подскажите. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2020, 00:32 |
|
Разбиение строк на группы по условию
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2020, 09:06 |
|
Разбиение строк на группы по условию
|
|||
---|---|---|---|
#18+
fireprophet, объясните, что вы делаете на самом деле ABC анализ или что-то такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 10:10 |
|
Разбиение строк на группы по условию
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 22:21 |
|
Разбиение строк на группы по условию
|
|||
---|---|---|---|
#18+
a_voronin,Суть-кластеризация, но вот такая интересная) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 22:21 |
|
|
start [/forum/topic.php?fid=46&fpage=62&tid=1686229]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 132ms |
0 / 0 |