|
|
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Есть табличка (~30 тыс. записей) в которой в числовое значение от 0 до 100. Необходимо найти количество записей, где это значение =0; =1; и т.д. до =100. Это можно как-то автоматизировать, а не писать 100 раз запрос, меняя параметр у WHERE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 10:20 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. Где Number - числовое поле (повторяющиеся значения от 0 до 100). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 10:27 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Сенькс за оперативность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 10:34 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Только я чего-то сначала не того спросил... Звиняюсь. Надо суммировать по группам: 0<поле<=10; 10<поле<=20 и т.д. А это как сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 10:44 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
SELECT MyTable.Number, Sum(*) AS [Count-Rows] FROM MyTable GROUP BY MyTable.Number \ 10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:08 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
То есть: SELECT MyTable.Number \ 10, Sum(*) AS [Count-Rows] FROM MyTable GROUP BY MyTable.Number \ 10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:09 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Нужно сделать табличку соответствия интервалов наборам записей в поле с номером (Number) и вместо значения в Number в запросе указывать интревал, к которому принадлежит значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:10 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Временная таблица - это, имхо, громоздко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:12 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Большое спасибо Владимиру Санычу. Чего то я туплю тут на жаре. Извиняюсь за примитив. А если границы такие: от 0 до 3; от 4 до 20; от 21 до 100. Тогда как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:14 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Тогда можно написать функцию, которая будет по числу возвращать код группы. И группировать по ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:21 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Да, с временной табличкой громоздко, зато для любых интервалов подходит. Только я не понял один момент, если в табличке ещё есть текстовые поля помимо числового, то Sum(*) работать не будет. Нужно писать Count(*), а так - забывать стал уже некоторые методы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:21 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Ой. Моя ошибка. Sum(MyTable.Number), конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:23 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
Ага - без Count'a не обойтись; мне не сумма нужна, а количество. 2 Владимир Саныч: А если особо не затруднит, подскажите, как в Access'e функции создавать? Я в этом деле не очень рулю. А может проще в отдельное поле прописать код группы и не мучиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:25 |
|
||
|
Суммирование по группам
|
|||
|---|---|---|---|
|
#18+
> как в Access'e функции создавать? Заходим в модуль (можно создать новый) и пишем: Function ZZZ(n As Integer) As Integer ZZZ = n \ 10 End Function > А может проще в отдельное поле прописать код группы и не мучиться? Можно и так. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 11:35 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1785&tid=1680797]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 329ms |

| 0 / 0 |
