|
|
|
Как в SQL сгруппировать значения с определенным шагом?
|
|||
|---|---|---|---|
|
#18+
alexeyvgmsLexпропущено... Зачем формулу, просто "шаг" группировкиШаг не имеет смысла, по тем причинам, которые я описал в посте, на который вы ответили. Я же писал не про "куда засунуть цифру 5", а про то, что плохо раскидывать по приложению множество одинаковых формул, для одного и того же расчёта, их будет трудно читать, потом программисты будут их неоптимально менять (иногда слишком усложняя), да ещё и во многих местах. Намного проще сделать справочник групп возрастов. Или хотя бы справочник в коде, как 21996207 - это придётся менять во многих местах, но хотя бы логика будет прозрачная, и в сравнении исходников тоже будет всё прозрачно - что было, и что стало. Странно, а формулу клочиство*цена тоже нельзя нигде писать в коде? Вместо неё нужно использовать джойн на таблицу предрасчитанных результатов бинарных операций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 21:23 |
|
||
|
Как в SQL сгруппировать значения с определенным шагом?
|
|||
|---|---|---|---|
|
#18+
msLexalexeyvgШаг не имеет смысла, по тем причинам, которые я описал в посте, на который вы ответили. Я же писал не про "куда засунуть цифру 5", а про то, что плохо раскидывать по приложению множество одинаковых формул, для одного и того же расчёта, их будет трудно читать, потом программисты будут их неоптимально менять (иногда слишком усложняя), да ещё и во многих местах. Намного проще сделать справочник групп возрастов. Или хотя бы справочник в коде, как 21996207 - это придётся менять во многих местах, но хотя бы логика будет прозрачная, и в сравнении исходников тоже будет всё прозрачно - что было, и что стало. Странно, а формулу клочиство*цена тоже нельзя нигде писать в коде? Вместо неё нужно использовать джойн на таблицу предрасчитанных результатов бинарных операций?количество*цена можно. Но более сложные расчёты иногда стараются как то централизовать, что бы не размазывать по коду. По моему, разница между умножением количества на цену, или справочниками, типа справочника НДС, справочника диапазонов для прогрессивного налогообложения, справочников возрастов, вроде очевидна. Неужели вы серьёзно считаете, что справочники не нужны, а лучше закодить это "Возраст / 5 * 5" прямо в десятке запросов, не забывая приводить к int (а так же придумывая похожие формулы для разных диапазонов)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 21:40 |
|
||
|
Как в SQL сгруппировать значения с определенным шагом?
|
|||
|---|---|---|---|
|
#18+
ТС задал два вопроса: 1.Как в SQL сделать группировку по возрасту, например, с шагом 5 ? 2. Как сделать группировку по возрасту, например, различными шагами ? Т.е. до 18 лет, с 18 до 25, с 25 до 45 и т.д. Во втором случае записать формулу проблематично. Но почему-то так долго обсуждается формула и ее место в запросе. Потом окажется, что результат нужно представить "горизонтально". Это было рассмотрено в 16671431 , как ответ одному уважаемому мной человеку на беседу в 16535446 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 21:43 |
|
||
|
Как в SQL сгруппировать значения с определенным шагом?
|
|||
|---|---|---|---|
|
#18+
msLex, очевидно, что функция показывает правильный результат, как и запрос с таблицей. Но работают они используя разные принципы. Разработчик БД, использующий в первую очередь приемы функционального и процедурного программирования против возможности организации данных в таблицах и использования запросов должен понимать последствия решений. Например, для домашнего использования подход с изменением формул расчетов по трудозатратам сопоставим с изменением содержимого таблиц и цена ошибки невысока, но при промышленной эксплуатации на изменение кода накладывается множество ограничений, касающихся производительности, возможности публикации, повышения стоимости ошибки, скорость внедрения изменений и так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2019, 12:45 |
|
||
|
Как в SQL сгруппировать значения с определенным шагом?
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовmsLex, очевидно, что функция показывает правильный результат, как и запрос с таблицей. Но работают они используя разные принципы. Разработчик БД, использующий в первую очередь приемы функционального и процедурного программирования против возможности организации данных в таблицах и использования запросов должен понимать последствия решений. Например, для домашнего использования подход с изменением формул расчетов по трудозатратам сопоставим с изменением содержимого таблиц и цена ошибки невысока, но при промышленной эксплуатации на изменение кода накладывается множество ограничений, касающихся производительности, возможности публикации, повышения стоимости ошибки, скорость внедрения изменений и так далее. Вы путаетесь в показаниях, сначала писали про производительность, теперь про поддержку кода. Давайте разбираться по пунктам. Так что там с производительностью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2019, 13:09 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39878542&tid=1687097]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 473ms |

| 0 / 0 |
