У меня есть результаты SQL, которые мне нужно разбить на диапазоны элементов, и количество распределено равномерно по ряду задач.Какой хороший способ сделать это?
Мои данные выглядят так.
+------+-------+----------+
| Item | Count | ItmGroup |
+------+-------+----------+
| 1A | 100 | 1 |
| 1B | 25 | 1 |
| 1C | 2 | 1 |
| 1D | 6 | 1 |
| 2A | 88 | 2 |
| 2B | 10 | 2 |
| 2C | 122 | 2 |
| 2D | 12 | 2 |
| 3A | 4 | 3 |
| 3B | 103 | 3 |
| 3C | 1 | 3 |
| 3D | 22 | 3 |
| 4A | 55 | 4 |
| 4B | 42 | 4 |
| 4C | 100 | 4 |
| 4D | 1 | 4 |
+------+-------+----------+
Item = код товара.Count = этот контекст определяет популярность товара.Это может быть использовано для ранга предметов, если это будет необходимо.ItmGroup - это родительское значение для столбца Itm.Элемент содержится в группе.
Что отличает это от других подобных вопросов, которые я видел, так это то, что диапазоны, которые мне нужно определить, не могут быть взяты из порядка, который они показывают в этой таблице.Мы можем сделать Range Item от A1 до B3, другими словами, они могут пересекать ItmGroups, но они должны оставаться в алфавитно-цифровом порядке по Item.
Ожидаемым результатом будут диапазоны элементов, которые равномерно распределяют общее количество.
+------+-------+----------+
| FrItem | ToItem | TotCount|
+------+-------+----------+
| 1A | 2D | 134 |
| 3A | 3D | 130 |
(etc)